只言片语 挠头的小问题不断更新

本文讨论了C++编程中的一些常见问题,包括内存管理、错误处理、编译和链接问题,以及如何解决这些问题的方法。主要内容涉及数组栈溢出、函数返回时的崩溃、C/C++混合编译时的函数命名冲突、获取文件名、设置动态链接库位置、OpenCV错误、库函数未定义问题、CString数据首地址一致性等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

       vector<  vector<int>  >时,要用空格将最后两个> > 隔开,以免和插入流算子>>发生混淆。

       有些时候程序在返回的时候崩溃了,除了类的析构函数等等,不妨查查自己的固定数组吧,可能是它们在的栈空间崩溃了

       在C++和C混合编译的时候,不能在C文件对应的头文件中忘了添加extern "C" ,否则,两个不同的函数命名方式会导致直接找不到函数

       缩略图无法显示文件名:

       先将文件夹显示方式改成平铺,然后按住SHIFT,换回缩略图,OK

要获得一个文件夹下所有文件的文件名,输入到一个文档中去:

在DOS环境下,dir /w >*.txt

设置动态链接库工程中lib的位置:在link标签页下,project option中 有个/implib:“XXXXX.lib" 填写相应地址即可 

使用opencv1.1时,有时会出现“应用程序正常初始化失败0x0150002”,打开opencv的工程,全部重新编译一遍,可能可以解决问题、

调用某些库中的函数时,如果显示unresolved external并且应该连接的库已经链进去了,不妨查找一下项目的设置,比如预定义的宏等等

在未给其赋值之前,所有CString的数据首地址是一样的,所以在未赋值的时候直接调用fscanf时,会出现“串”的情况

Vector中的insert和pushback:

insert可以将数据插入到任何地方,所以每次使用insert的时候都会强迫vector将所有数据先存到一个缓存中去,所以insert往往比pushback慢一些

 http://www.cnblogs.com/tornadomeet/category/497607.html

在VC下运行(run)时可以,但是双击exe的时候不能运行,这时要check一下是否有读文件,在工程中的相对路径,在运行exe的时候是不能用的,

说明两点:1,要加强error的返回;2,尽量不要用相对路径,在工程中。


MSVCP100D.dll,这个dll对应的是C++编译器的Code Generation的Runtime Library版本的设置。默认vs2010会把他设置成Multi-threaded Debug DLL (/MDd),这时使用的就是MSVCP100D.dll。正常发布时应该是设置为Multi-threaded (/MT)或/MD,这时就会去使用vc++ 2010 redistribution里的dll了。带d的DLL含有living debug所需的调试功能,但不在redistribution里。另外,直接修改编译模式从Debug改为Release也会修改这个配置。但别忘记了把Release下的VC++ Dictionary里的值和Link Input重新配置哦,这些配置也同样不会从Debug里复制过来。


vs2010中出现debug的时候提示代码不一致,无法进入断点:

http://blog.youkuaiyun.com/chinabinlang/article/details/41055573


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值