文件管理 · 2022年7月25日

此文件的原型错误创建scn错误|关于利用fopen函数创建文件的问题

⑴ 我解压虐杀原型的时候怎么说文件写入错误

因为文件系统是FAT32的~单个文件大小不能大于4G~必须换成NTFS才行~方法如下:———————开始→运行→键入cmd按回车,在窗口“command prompt”下,输入命令“convert C: /FS:NTFS”按回车,重新启动电脑,即将FAT32 转换 NTSF 格式。注意:在“covert”的后面有一个空格,C是你要更改文件系统盘的盘符。 如果是转换C分区的话,重新启动生效,其他分区立即生效。

⑵ 打开游戏,出现了File Not Found.autoexec.scn,怎么办

从别处搜来的,希望对楼主有帮助^^1。建议将下载好的游戏压缩文件解压到您电脑硬盘驱动器的根目录下,例如D:或者E:;不建议解压到子目录(例如D:/games/ 不可)2。此游戏文件夹内有个隐藏系统文件,所以移动游戏的时候请直接操作上级文件夹,而不要全选所有文件再移动or复制,否则会缺少文件造成无法运行:错误提示是 file not found autoexec.scn

⑶ Oracle 数据库 10g 使用 impdp导入出错

Oracle10g以前数据导入导出提供有imp/exp命令,10g以后提供了新的导入导出命令expdp/impdp。虽然exp/imp已经很好用了,但是唯一的确定是速度太慢,如果1张表的数据有个百千万的,常常导入导出就长时间停在这个表这,但是从Oracle 10g开始提供了称为数据泵新的工具expdp/impdp,它为Oracle数据提供高速并行及大数据的迁移。唯一的区别是:imp/exp可以在客户端调用,但是expdp/impdp只能在服务端,并且生成的备份文件只能存在服务器里面。文笔水平有限,不多罗嗦开始写具体的例子,以备以后之用。实现目的:把WANGLIPO用户下的所有对象导入到新建用户EXPDPTEST用户。步骤:1:创建EXPDPTEST用户。因为还不习惯命令操作直接在客户端上进行创建;2:创建逻辑目录,最好以SYSYTEM等管理员创建。由于该命令不会在操作系统上创建真正的目录,所以要直接手动创建一个同名的目录,同时确保该目录可读写操作。命令:create directory mp_test as '/u01/oracle10g';(select * from dba_directories;可以查看已存在的所有目录)3:给EXPDPTEST用户赋予在指定目录的操作权限。最好以SYSTEM等管理员赋予。命令:grant read, write on directory mp_test to expdptest4:按用户导出,命令如下:expdp wanglipo/[email protected] schemas=wanglipo mpfile=expdp.dmp DIRECTORY=mp_test;导出结束后会生成数据文件和日志文件5:开始导入同样按用户导入命令如下:impdp expdptest/[email protected] DIRECTORY=mp_test DUMPFILE=expdp.dmp REMAP_SCHEMA=wanglipo:expdptest;6: 至此导入结束.附录一些资料:一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。create directory dpdata1 as 'd:\test\mp';二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)select * from dba_directories;三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。grant read,write on directory dpdata1 to scott;四、导出数据1)按用户导expdp scott/[email protected] schemas=scott mpfile=expdp.dmp DIRECTORY=dpdata1;2)并行进程parallelexpdp scott/[email protected] directory=dpdata1 mpfile=scott3.dmp parallel=40 job_name=scott33)按表名导expdp scott/[email protected] TABLES=emp,dept mpfile=expdp.dmp DIRECTORY=dpdata1;4)按查询条件导expdp scott/[email protected] directory=dpdata1 mpfile=expdp.dmp Tables=emp query='WHERE deptno=20';5)按表空间导expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;6)导整个数据库expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;五、还原数据1)导到指定用户下impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;2)改变表的ownerimpdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;3)导入表空间impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;4)导入数据库impdb system/manager DIRECTORY=mp_dir DUMPFILE=full.dmp FULL=y;5)追加数据impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION=append;—————————-Expdp/Impdp的相关参数—————————-EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=[schema_name.]job_nameSchema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:Expdp scott/tiger ATTACH=scott.export_job2. CONTENT该选项用于指定要导出的内容.默认值为ALLCONTENT={ALL | DATA_ONLY | METADATA_ONLY}当设置CONTENT为ALL 时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义Expdp scott/tiger DIRECTORY=mp DUMPFILE=a.mpCONTENT=METADATA_ONLY3. DIRECTORY指定转储文件和日志文件所在的目录DIRECTORY=directory_objectDirectory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS 目录Expdp scott/tiger DIRECTORY=mp DUMPFILE=a.mp建立目录:CREATE DIRECTORY mp as ‘d:mp’;查询创建了那些子目录:SELECT * FROM dba_directories;4. DUMPFILE用于指定转储文件的名称,默认名称为expdat.dmpDUMPFILE=[directory_object:]file_name [,….]Directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象Expdp scott/tiger DIRECTORY=mp1 DUMPFILE=mp2:a.dmp5. ESTIMATE指定估算被导出表所占用磁盘空间分方法.默认值是BLOCKSEXTIMATE={BLOCKS | STATISTICS}设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICSDIRECTORY=mp DUMPFILE=a.mp6. EXTIMATE_ONLY指定是否只估算导出作业所占用的磁盘空间,默认值为NEXTIMATE_ONLY={Y | N}设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作.Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y7. EXCLUDE该选项用于指定执行操作时释放要排除对象类型或相关对象EXCLUDE=object_type[:name_clause] [,….]Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用Expdp scott/tiger DIRECTORY=mp DUMPFILE=a.p EXCLUDE=VIEW8. FILESIZE指定导出文件的最大尺寸,默认为0,(表示文件尺寸没有限制)9. FLASHBACK_SCN指定导出特定SCN时刻的表数据FLASHBACK_SCN=scn_valueScn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用Expdp scott/tiger DIRECTORY=mp DUMPFILE=a.dmpFLASHBACK_SCN=35852310. FLASHBACK_TIME指定导出特定时间点的表数据FLASHBACK_TIME=”TO_TIMESTAMP(time_value)”Expdp scott/tiger DIRECTORY=mp DUMPFILE=a.dmp FLASHBACK_TIME=“TO_TIMESTAMP(’25-08-2004 14:35:00’,’DD-MM-YYYY HH24:MI:SS’)”11. FULL指定数据库模式导出,默认为NFULL={Y | N}为Y时,标识执行数据库导出.12. HELP指定是否显示EXPDP命令行选项的帮助信息,默认为N当设置为Y时,会显示导出选项的帮助信息.Expdp help=y13. INCLUDE指定导出时要包含的对象类型及相关对象INCLUDE = object_type[:name_clause] [,… ]14. JOB_NAME指定要导出作用的名称,默认为SYS_XXXJOB_NAME=jobname_string15. LOGFILE指定导出日志文件文件的名称,默认名称为export.logLOGFILE=[directory_object:]file_nameDirectory_object用于指定目录对象名称,file_name用于指定导出日志文件名.如果不指定directory_object.导出作用会自动使用DIRECTORY的相应选项值.Expdp scott/tiger DIRECTORY=mp DUMPFILE=a.dmp logfile=a.log16. NETWORK_LINK指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项.17. NOLOGFILE该选项用于指定禁止生成导出日志文件,默认值为N.18. PARALLEL指定执行导出操作的并行进程个数,默认值为119. PARFILE指定导出参数文件的名称PARFILE=[directory_path] file_name20. QUERY用于指定过滤导出数据的where条件QUERY=[schema.] [table_name:] query_clauseSchema 用于指定方案名,table_name用于指定表名,query_clause用于指定条件限制子句.QUERY选项不能与 CONNECT=METADATA_ONLY,EXTIMATE_ONLY,TRANSPORT_TABLESPACES等选项同时使用.Expdp scott/tiger directory=mp mpfiel=a.dmpTables=emp query=’WHERE deptno=20’21. SCHEMAS该方案用于指定执行方案模式导出,默认为当前用户方案.22. STATUS指定显示导出作用进程的详细状态,默认值为023. TABLES指定表模式导出TABLES=[schema_name.]table_name[:partition_name][,…]Schema_name用于指定方案名,table_name用于指定导出的表名,partition_name用于指定要导出的分区名.24. TABLESPACES指定要导出表空间列表25. TRANSPORT_FULL_CHECK该选项用于指定被搬移表空间和未搬移表空间关联关系的检查方式,默认为N.当设置为Y时,导出作用会检查表空间直接的完整关联关系,如果表空间所在表空间或其索引所在的表空间只有一个表空间被搬移,将显示错误信息.当设置为N时, 导出作用只检查单端依赖,如果搬移索引所在表空间,但未搬移表所在表空间,将显示出错信息,如果搬移表所在表空间,未搬移索引所在表空间,则不会显示错误信息.26. TRANSPORT_TABLESPACES指定执行表空间模式导出27. VERSION指定被导出对象的数据库版本,默认值为COMPATIBLE.VERSION={COMPATIBLE | LATEST | version_string}为COMPATIBLE时,会根据初始化参数COMPATIBLE生成对象元数据;为LATEST时,会根据数据库的实际版本生成对象元数据.version_string用于指定数据库版本字符串.调用EXPDP使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录.因此,使用EXPDP工具时,必须首先建立DIRECTORY对象.并且需要为数据库用户授予使用DIRECTORY对象权限.————————————-应用————————————-Data Pump 反映了整个导出/导入过程的完全革新。不使用常见的 SQL 命令,而是应用专用 API(direct path api etc) 来以更快得多的速度加载和卸载数据。1.Data Pump 导出 expdp例子:sql>create directory dpdata1 as '/u02/dpdata1';sql>grant read, write on directory dpdata1 to ananda;$expdp ananda/abc123 tables=CASES directory=DPDATA1 mpfile=expCASES.dmp job_name=CASES_EXPORT$expdp ananda/abc123 tables=CASES directory=DPDATA1mpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Exportinclude/exclude 例子:include=table:"in('DB','TS')"或者include=table:"like '%E%'"或者include=function,package,procere,table:"='EMP'"或者exclude=SEQUENCE,TABLE:"IN ('EMP','DEPT')"2.Data Pump 导入 expdp1)从expdp中获取数据源 exp.dmp2)复制某个数据库中的一个schema到另一个数据库中。3) 在同一个数据库中把一个schema中所有的对象复制到另一个schema中。例子:1)impdp 的数据源是expdp 导出来的DMP文件impdp ananda/abc123 directory=dpdata1 mpfile=expCASES.dmp job_name=cases_import2)复制某个数据库中的一个schema到另一个数据库中。–1.newwork_link为目标数据库建立的database_link,(用户test 需要grant exp_full_database to TEST; )create public database link TOLINKconnect to TEST identified by oracleusing '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.20.199)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))';–2.impdp在目标数据库服务器上执行 只能低版本向高版本impimpdp network_link=TOLINK schemas=test remap_schema=test:link23) 在同一个数据库中把一个schema中所有的对象复制到另一个schema中。–1.创建连接自己的database link:create public database link system_self connect to system identified by "system" using 'orcl';数据库链接已创建。–2.复制hr schema到test schema:impdp system/system network_link=system_self schemas=hr remap_schema=hr:test

⑷ (C语言)以下所列出的函数原型申明中,错误的是( )

C错误1、定义一个结构体相当于定义了一个数据类型,数据类型的名字就是struct加上自己起的名字对应本题structaa{inta;intb;};所定义的新的数据类型是structaa2、函数名前是一个数据类型所以应该是structaa而不能是structaa{inta;intb;}

⑸ 急!!!虐杀原型打开的时候出这个错误提示什么是怎么回事!!!

Direct版本问题吧貌似是这样你去网络搜索下下载之后更新一下看到上面的英文了吗?“Please······DirectX9.0······”你要更新到9.0以上。可能系统问题吧假如有驱动盘的话一般是可以从驱动盘里直接更新DX9.0的试试看用驱动盘更新。没的话就网上下载一个应该能解决!

⑹ 虐杀原形错误,急急急急急急!!

WIN7第一次运行游戏弹出对话框,说没权限玩,怎么办?答:把WIN7的家长控制关闭即可。关闭方法的图文教程 http://tieba..com/f?kz=731821921或者用WIN7提供的XP虚拟机来运行虐杀原型,也能解决。删减版的win7是打不开家长控制的。重装一个完整版的WIN7,就能打开家长控制。

⑺ CSGO创建会话失败怎么办 CSGO连接失败的解决方法

CSGO和steam官方工作人员,他们给出的解决方案就是在STEAM启动图标的快捷方式后面加入空格 -tcp 就可解决此问题绝对真实有效。

背景设定:

游戏是以1999年的“CS”为原型制作的新作,该作在团队竞技游戏模式的基础上加以开发。游戏将玩家分为反恐精英(Counter Terrorists/CT)阵营与恐怖份子(Terrorists/T)阵营两队,每个队伍必须在一个地图上进行多回合的战斗。赢得回合的方法是达到该地图要求的目标,或者是完全消灭敌方玩家。

《反恐精英:全球攻势》包含全新地图,角色与武器,同时将向经典CS发布升级。另外,游戏还引入全新的游戏模式,竞技配对系统,排行榜等。新的对战模式分为休闲和竞技两种。在休闲模式中,玩家的攻击将不会对队友造成误伤,可以跨团队和敌方聊天,系统还将自动为人物穿上防弹衣。

⑻ 关于利用fopen函数创建文件的问题

函数原型:FILE * fopen(const char * path,const char * mode);

相关函数:open,fclose,fopen_s,_wfopen

返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。

参数说明:

参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。

mode有下列几种形态字符串:

r 以只读方式打开文件,该文件必须存在。

r+ 以可读写方式打开文件,该文件必须存在。

rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。

w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)

a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

wb 只写打开或新建一个二进制文件;只允许写数据。

wb+ 读写打开或建立一个二进制文件,允许读和写。

ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

wx 创建文本文件,只允许写入数据.[C11]

wbx 创建一个二进制文件,只允许写入数据.[C11]

w+x 创建一个文本文件,允许读写.[C11]

wb+x 创建一个二进制文件,允许读写.[C11]

w+bx 和"wb+x"相同[C11]

例子:

#include<stdio.h>#defineF_PATH"d:\myfile\file.dat"intmain(void){FILE*fp=NULL;//需要注意fp=fopen(F_PATH,"r");if(NULL==fp){return-1;//要返回错误代码}fclose(fp);fp=NULL;//需要指向空,否则会指向原打开文件地址return0;}

⑼ 线程已经通过之前的创建文件指令,将文件创建并打开,但是在进行写数据提示errno9 Bad File Descriptor

用的指令是gcc -D_REENTRANT -I/usr/include/nptl book_h32.c -o book_h32 -L/usr/lib/nptl -lpthread thread thread.c (后面两个是产生文件名和源文件名)程序是抄的书上的,本身没有问题。错误 LNK1120 为您提供该链接的无法解析的外部对象数 (number)。导致无法解析的外部对象的条件由错误 LNK2001 描述,此错误出现在该错误信息之前(对每个无法解析的外部对象都出现一次)。//就是说每出现一次LNK1120都会在之前出现一个LNK2001LNK2001所以主要是解决LNK1120关键是要解决链接器工具错误 LNK2001 这分一下的情况(来自VS 2008的帮助),在这里我只复制一些比较常见的,如果还不行,你重建工程来吧~~一、代码问题1.如果 LNK2001 诊断文本报告 __check_commonlanguageruntime_version 是无法解析的外部符号,在 function 中找到了未定义的外部符号 (symbol)。若要解决此错误,请提供符号定义或移除引用它的代码。2.成员模板的定义超出了类的范围。Visual C++ 的一个限制是,成员模板的定义必须完全位于封闭类内。3.代码中大小写不匹配4.如果项目使用函数内联,但在 .cpp 文件而非头文件中定义函数,则会导致 LNK2001。5.试图引用没有外部链接的函数或数据会导致 LNK2001。6.缺少函数主体或变量会导致 LNK2001。7.调用参数类型与函数声明中的参数类型不匹配的函数会导致 LNK2001。名称修饰将函数参数合并到最终修饰函数名中。8.错误包含的原型导致编译器需要没有提供的函数体,这样会导致 LNK2001。如果同时具有函数 F 的类实现和非类实现,请注意 C++ 范围解析规则。9.在使用 C++ 时,将函数原型包含在类定义中但未能包含实现(该类的此函数的实现)会导致 LNK2001。10.试图从抽象基类的构造函数或析构函数调用纯虚函数会导致 LNK2001。纯虚函数没有基类实现。11.试图在函数范围外使用用该函数声明的变量(局部变量)会导致 LNK2001。二、编译和链接问题1.项目缺少对库 (.LIB) 或对象 (.OBJ) 文件的引用。有关更多信息,请参见用作链接器输入的 .lib 文件。2.如果使用 /NODEFAULTLIB 或 /Zl,包含所需代码的库将不会链接到项目,除非已显式地包括了这些库。(在使用 /clr 或 /clr:pure 进行编译时,您将看到对 .cctor 的引用;有关更多信息,请参见 混合程序集的初始化。)3.如果正在使用 Unicode 和 MFC,如果没有创建 wWinMainCRTStartup 的入口点,将在 [email protected] 上得到无法解析的外部对象;请使用 /ENTRY。请参见 Unicode 编程摘要。 4.将用 /MT 编译的代码与库 LIBC.lib 链接会在 _beginthread、_beginthreadex、_endthread 和 _endthreadex 上导致 LNK2001。5.链接需要多线程库的代码(任何 MFC 代码或用 /MT 编译的代码)会在 _beginthread、_beginthreadex、_endthread 和 _endthreadex 上导致 LNK2001。有关更多信息,请参见下列知识库文章: 6.在用 /MD 进行编译时,因为所有的运行时现在都存放在一个 DLL 中,所以源中的“func”引用在对象中变为“__imp__func”引用。如果试图与 LIBC.lib 或 LIBCMT.lib 静态库链接,则将在 __imp__func 上得到 LNK2001。当不用 /MD 进行编译时,如果试图与 MSVCxx.lib 链接,则并非总是得到 LNK2001,但可能会有其他问题。7.在生成应用程序的调试版本时与发布模式库链接会导致 LNK2001。同样,使用 /Mxd 选项(/MTd 或 /MDd)和/或定义 _DEBUG,然后再与版本库链接,将可能会产生无法解析的外部对象(同时还会出现其他问题)。将发布模式生成与调试库链接同样会导致类似问题。8.将 Microsoft 库版本和编译器产品版本混合可能会有问题。新编译器版本的库可能包含早期版本的库中没有的新符号。可能需要更改搜索路径中的目录顺序,或将它们更改为指向当前版本。 9.使用库文件选择下的“工具”|“选项”|“项目”|“VC++ 目录”对话框,可以更改搜索顺序。项目的“属性页”对话框中的“链接器”文件夹可能也包含可能已过期的路径。 10.当安装了新的 SDK(可能在不同的位置),但没有将搜索顺序更新为指向新位置时,可能会出现此问题。通常情况下,应将新 SDK 的 include 目录和 lib 目录的路径放在默认 Visual C++ 位置的前面。另外,包含嵌入路径的项目可能仍然指向旧路径,这些路径是有效的,但对于安装到不同位置的新版本所添加的新功能已过期。 11.编译器供应商之间、甚至同一编译器的不同版本之间当前没有 C++ 命名标准。因此,链接用其他编译器编译的对象文件可能无法生成相同的命名方案,从而导致错误 LNK2001。12.在不同模块上混合内联和非内联编译选项会导致 LNK2001。如果创建 C++ 库时打开了函数内联(/Ob1 或 /Ob2),但描述函数的相应头文件的内联是关闭的(没有 inline 关键字),则将发生此错误。若要防止此问题,请在要包含到其他文件中的头文件中用 inline 定义内联函数。13.如果使用 #pragma inline_depth 编译器指令,请确保具有 设置为 2 或更大的值,并确保使用 /Ob1 或 /Ob2 编译器选项。14.在创建纯资源 DLL 时省略 LINK 选项 /NOENTRY 将导致 LNK2001。15.使用不正确的 /SUBSYSTEM 或 /ENTRY 设置会导致 LNK2001。例如,如果编写基于字符的应用程序(控制台应用程序)并指定 /SUBSYSTEM:WINDOWS,您将得到无法解析的 WinMain 外部对象。有关这些选项和入口点的更多信息,请参见 /SUBSYSTEM 和 /ENTRY 链接器选项。 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为:unresolved external symbol “symbol”(不确定的外部“符号”)。如果连接程序不能在所有的库和目标文件内找到所引用的函数、变量或标签,将产生此错误消息。一般来说,发生错误的原因有两个:一是所引用的函数、变量不存在、拼写不正确或者使用错误;其次可能使用了不同版本的连接库。以下是可能产生LNK2001错误的原因:一.由于编码错误导致的LNK2001。1.不相匹配的程序代码或模块定义(.DEF)文件能导致LNK2001。例如, 如果在C++ 源文件内声明了一变量“var1”,却试图在另一文件内以变量“VAR1”访问该变量,将发生该错误。2.如果使用的内联函数是在.CPP文件内定义的,而不是在头文件内定义将导致LNK2001错误。3.调用函数时如果所用的参数类型同函数声明时的类型不符将会产生LNK2001。4.试图从基类的构造函数或析构函数中调用虚拟函数时将会导致LNK2001。5.要注意函数和变量的可公用性,只有全局变量、函数是可公用的。 静态函数和静态变量具有相同的使用范围限制。当试图从文件外部访问任何没有在该文件内声明的静态变量时将导致编译错误或LNK2001。函数内声明的变量(局部变量) 只能在该函数的范围内使用。C++ 的全局常量只有静态连接性能。这不同于C,如果试图在C++的多个文件内使用全局变量也会产生LNK2001错误。一种解决的方法是需要时在头文件中加入该常量的初始化代码,并在.CPP文件中包含该头文件;另一种方法是使用时给该变量赋以常数。二.由于编译和链接的设置而造成的LNK20011.如果编译时使用的是/NOD(/NODEFAULTLIB)选项,程序所需要的运行库和MFC库在连接时由编译器写入目标文件模块, 但除非在文件中明确包含这些库名,否则这些库不会被链接进工程文件。在这种情况下使用/NOD将导致错误LNK2001。2.如果没有为wWinMainCRTStartup设定程序入口,在使用Unicode和MFC时将得到“unresolved external on [email protected]”的LNK2001错误信息。3.使用/MD选项编译时,既然所有的运行库都被保留在动态链接库之内,源文件中对“func”的引用,在目标文件里即对“__imp__func” 的引用。如果试图使用静态库LIBC.LIB或LIBCMT.LIB进行连接,将在__imp__func上发生LNK2001;如果不使用/MD选项编译,在使用MSVCxx.LIB连接时也会发生LNK2001。4.使用/ML选项编译时,如用LIBCMT.LIB链接会在_errno上发生LNK2001。5.当编译调试版的应用程序时,如果采用发行版模态库进行连接也会产生LNK2001;同样,使用调试版模态库连接发行版应用程序时也会产生相同的问题。6.不同版本的库和编译器的混合使用也能产生问题,因为新版的库里可能包含早先的版本没有的符号和说明。7.在不同的模块使用内联和非内联的编译选项能够导致LNK2001。如果创建C++库时打开了函数内联(/Ob1或/Ob2),但是在描述该函数的相应头文件里却关闭了函数内联(没有inline关键字),这时将得到该错误信息。为避免该问题的发生,应该在相应的头文件中用inline关键字标志内联函数。8.不正确的/SUBSYSTEM或/ENTRY设置也能导致LNK2001。其实,产生LNK2001的原因还有很多,以上的原因只是一部分而已,对初学者来说这些就够理解一阵子了。但是,分析错误原因的目的是为了避免错误的发生。LNK2001错误虽然比较困难,但是只要注意到了上述问题,还是能够避免和予以解决的。

⑽ 虐杀原型error:could not load dll'protot这个问题怎么解决啊! 高手们来—-解决

提示已经告诉你答案了: MainWin32 x ERROR: Could not load DLL "Prototypengnet.dll" Pleasse re-install the game and install the required diectx9.0c provided or obtain the latest version from microsoft 译文:MainWin32 X 错误:不能载入动态链接库文件"Prototypengnet.dll" 请重新安装游戏并且安装需要的Directx9.0c或从微软获取(Directx)最新的版本。 楼主,你把游戏重新一下,并下载Directx 9.0c,安装一下Directx 9.0c下载链接:http://www.onlinedown.net/softdown/5288_2.htm