
C/C++
chengtg
这个作者很懒,什么都没留下…
展开
-
乱码程序,乱的很有规律
This page combines two things I like: "Hello, World!" programs and obfuscated C programs. The following programs should all compile with GCC and the Borland command line compiler for Windows (bcc32).hello1.c#define _________ } #define ________ putchar转载 2010-12-07 17:44:00 · 1014 阅读 · 0 评论 -
Linux下全局符号覆盖问题
在windows上,默认情况下,动态库中的符号都是对外隐藏的,除非你显示的指出要导出哪些符号,否则外界是看不到的。但是linux下情况刚好相反,对静态变量和全局变量,linux下so里面的符号对外可见。这就很容易出现一个问题,就是外界很可能会无意中修改so内部的符号或符号同名但内存结构不同,带来各种问题。有一种方法能将so里面的符号隐藏起来,避免全局符号覆盖。1、首先,编程参数中添加编译选原创 2013-10-30 10:48:10 · 2109 阅读 · 0 评论 -
fatal error C1001: 编译器中发生内部错误。
用vs2005在构建版本时时出现如下错误:24>C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include\xmemory(165) : fatal error C1001: 编译器中发生内部错误。24>(编译器文件“msc1.cpp”,第 1392 行)24> 要解决此问题,请尝试简化或更改上面所列位置附近的程序。原创 2013-01-24 08:23:57 · 6337 阅读 · 0 评论 -
STL::for_each用法
std::for_each用法示例:#include #include #include struct persoan{int age;int degree;};// for_each用于对元素操作的仿函数,参数必须为元素的类型,返回值没有要求void add(persoan& p1){ p1.age += 10;}原创 2012-03-21 19:10:46 · 1945 阅读 · 0 评论 -
windows 写读注册表 示例
///////////////////////////////////////////////////////////////////////////////////////// 把一个可执行程序的路径写入注册表,并读取出来。//////////////////////原创 2011-08-17 17:34:48 · 931 阅读 · 0 评论 -
关于网络程序编写的两个问题
最近在开发程序的时候,发现两个问题,也许有人知道,也许有人还不知道:1) 关于Linux下select处理套接字描述符的问题。select处理套接字描述符,并不是最多只能处理1024个,而是处理套接字描述符本身的值不能超过1024,也就是说如果套接字创建过多,产生了socket值原创 2011-07-14 16:44:11 · 740 阅读 · 0 评论 -
VS调试技巧之----Attach to Process
<br />attach to process: 用于和进程绑定,方便调试。<br />你有没有这样的经历:按F5开始调试时,程序需要好长时间才能启动,比如可能需要加载比较大的文件或资源,这时候你可能需要等很长时间,而下次调试时又不得不等很长时间以待程序启动。其实这浪费了很多的时间。那有没有比较好的解决方法呢,有,就是VS提供的Attach to Proces 的功能。你只要把待调试的程序启动,然后把程序和源码attach一下就可以调试了,程序会在你在源码中设置的断点处停下来,当你调试完成后,只要不关闭你的原创 2011-03-26 17:40:00 · 11441 阅读 · 3 评论 -
使用STL时的一个链接错误(error LNK2005:std::_Lockit::_Lockit(int)重定义)
<br />今天编译一个使用STL的工程时遇到以下的链接错误:<br />PerformanceTest error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) 已经在 PetCore.lib(PetDib.obj) 中定义<br />PerformanceTest error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(voi转载 2011-03-08 12:18:00 · 2414 阅读 · 0 评论 -
php调用DLL(COM)注意事项
<br />PHP调用DLL(COM)注意事项:<br />1、函数的参数中,最后一个参数函数是返回值,须是retval类型的。<br />2、向接口传字符串类型的参数时,不要用BSTR*类型的,而用BSTR,因为BSTR本身已经是指针了。<br />3、PHP中的数字0并不对应C/C++中的0或NULL,而是另有其值。<br />4、PHP中的空字符串""并不对应C/C++中的NULL,最好用计算其长度是否为0来判断是否为空串。<br />5、向外输出的接口如果能放在一个类中,最好都放在一个类中。曾经在输原创 2011-01-25 11:27:00 · 2447 阅读 · 0 评论 -
C++类库介绍
<br />转载的,忘了地址。<br />C++类库介绍 <br />再次体现了C++保持核心语言的效率同时大力发展应用库的发展趋势!!在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。原创 2011-01-11 19:05:00 · 646 阅读 · 0 评论 -
C++类库介绍
<br />转载的,忘了地址。<br />C++类库介绍 <br />再次体现了C++保持核心语言的效率同时大力发展应用库的发展趋势!!在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。转载 2011-01-11 19:06:00 · 644 阅读 · 0 评论 -
不用rename的另一中更改文件名称的方法
<br />函数:<br />BOOL CopyFile(LPCTSTR lpExistingFileName,LPCTSTR lpNewFileName,BOOL bFailIfExists ); <br />包含文件:<br />#include<windows.h><br /> <br />第一个参数是已经存在的文件名字,可以是绝对路径也可以是相对路径,第二个参数是新的文件名,第三个参数指示<br />新文件是否存在,true表示已经存在,false表示不存在。<br />函数调用后将产生另一个文件,原创 2011-01-11 19:03:00 · 967 阅读 · 0 评论 -
LINK2019错误及解决方法
错误: error LNK2019: unresolved external symbol解决方法:1、看看有没有链接用到的Lib库。 设置方法:右键->property->Configuration Properties->Linker->Additional Dependencies 在这里添加引用的Lib库,注意路径!2、如果Lib库已经添加过了但还是有次错误,可查看当然工程的编译模式和引用的Lib库是否同一模式, 简单来说就是工程要是Debug模式就引用Lib的Debug版,反之引用原创 2010-12-26 19:19:00 · 11068 阅读 · 0 评论 -
linux下代码生成core文件
我们都知道在linux环境下,通过ulimit -c size 命令能方便的打开或关闭coredump功能,从而生成core文件,便于调试。但是对于如何用代码控制生成core文件,可能很多人就不知道了。我们一起来看下,其实也很简单。首先需要了解两个函数: int getrlimit(int resource, struct rlimit *rlim); int s原创 2015-04-16 19:50:17 · 1343 阅读 · 0 评论