nw.h程序,用于needleman wunsch算法 [英] nw.h program for needleman wunsch algorithm
问题描述
以下代码....
#include >< iostream >
#include < 字符串 >
#include < 算法 >
#include < stdlib.h >
#include < stdio.h >
#define调试0
使用 命名空间 std;
外部 int nw(
字符串,字符串,
string&,string& ;、
布尔
);
外部 int nw_align(
int **, char **,
字符串,字符串,
string&,string& ;、
int
);
外部 无效 dpm_init( int **, 字符 **, int , int , int );
外部 无效 print_al(string& ;, string&);
外部 无效 print_matrix( int ** const ,string,string);
外部 无效 print_traceback( char ** const ,string,string);
外部 int max( int , int , int , char *); pre>
无法编译,报告以下错误:
1:无法打开包含文件IOSTREAM
2:---------------------------- STRING
3:-----------------------------算法
9:减速语法错误
13:字符串"的多个脱节
14:---------------------------------
14 :,预期
20 :)预期
26:字符串无法启动参数清除
26:)预期
27:)预期
28 :)预期
29:调用宏"max"时参数个数错误
29:此处不允许使用存储类"extern"
关于出什么问题了吗?
当我在Visual Studio v10中执行dis程序时,即时通讯出现了一些错误,例如;
``alignment.exe'':已加载``C:\ Users \ Punith Chandra \ Documents \ Visual Studio 2010 \ Projects \ alignment \ Debug \ alignment.exe'',已加载符号.
''alignment.exe'':已加载''C:\ Windows \ SysWOW64 \ ntdll.dll'',找不到或打开PDB文件
''alignment.exe'':已加载''C:\ Windows \ SysWOW64 \ kernel32.dll'',找不到或打开PDB文件
''alignment.exe'':已加载''C:\ Windows \ SysWOW64 \ KernelBase.dll'',找不到或打开PDB文件
``alignment.exe'':已加载``C:\ Windows \ SysWOW64 \ msvcr100d.dll'',已加载符号.
程序"[4432] alignment.exe:本机"已退出,代码为0(0x0).
关于出什么问题了吗?
解决方案
由于看起来您在项目中不需要MFC
,所以为什么不知道呢?免费提供的现代编译器(例如Visual C++ 2010 Express
),然后以这种方式使用更新的标头(当然还有库):
#include >< iostream >
#include < 字符串 >
#include < 算法 >
#include < cstdlib >
#include < cstdio >
顺便说一句,我通常不鼓励将C++
流与类似C
的stdio
混合.
在每个文件名的末尾添加一个".h":
#include < iostream >
#include < 字符串 >
#include < 算法 >
#include < stdlib.h >
成为
#include < iostream.h < string.h >
#include < algorithm.h >
#include < stdlib.h >
The following code ....
#include <iostream>
#include <string>
#include <algorithm>
#include <stdlib.h>
#include <stdio.h>
#define DEBUG 0
using namespace std;
extern int nw(
string, string,
string&, string&,
bool
);
extern int nw_align(
int **, char **,
string, string,
string&, string&,
int
);
extern void dpm_init ( int **, char **, int, int, int );
extern void print_al ( string&, string& );
extern void print_matrix ( int ** const, string, string );
extern void print_traceback ( char ** const, string, string );
extern int max ( int, int, int, char * );
does not compile, reporting the following errors:
1:unable to open include file IOSTREAM
2:----------------------------STRING
3:-----------------------------ALGORITHM
9: deceleration syntax error
13:multiple decleration for 'string'
14:---------------------------------
14: , expected
20: ) expected
26:string cannot start a parameter decleration
26: ) expected
27: ) expected
28: ) expected
29: wrong no of arguments in call of macro 'max'
29: storage class 'extern' is not allowed here
Any idea about what''s gone wrong ?
as i executed dis program in visual studio v10 im gettin some errors like;
''alignment.exe'': Loaded ''C:\Users\Punith Chandra\Documents\Visual Studio 2010\Projects\alignment\Debug\alignment.exe'', Symbols loaded.
''alignment.exe'': Loaded ''C:\Windows\SysWOW64\ntdll.dll'', Cannot find or open the PDB file
''alignment.exe'': Loaded ''C:\Windows\SysWOW64\kernel32.dll'', Cannot find or open the PDB file
''alignment.exe'': Loaded ''C:\Windows\SysWOW64\KernelBase.dll'', Cannot find or open the PDB file
''alignment.exe'': Loaded ''C:\Windows\SysWOW64\msvcr100d.dll'', Symbols loaded.
The program ''[4432] alignment.exe: Native'' has exited with code 0 (0x0).
Any idea about what''s gone wrong ?
解决方案 Since it looks you don''t need MFC
in you project, why don''t you get a freely available modern compiler (such as Visual C++ 2010 Express
) and then use the updated headers (and libraries, of course) this way:
#include <iostream>
#include <string>
#include <algorithm>
#include <cstdlib>
#include <cstdio>
BTW I usually don''t encourage mixing C++
streams with C
-like stdio
.
Stick a ".h" on the end of each file name:
#include <iostream>
#include <string>
#include <algorithm>
#include <stdlib.h>
Becomes
#include <iostream.h>
#include <string.h>
#include <algorithm.h>
#include <stdlib.h>
这篇关于nw.h程序,用于needleman wunsch算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!