cpp
xiuzhentianting
这个作者很懒,什么都没留下…
展开
-
linux sleep用法
#include usleep(n) //n微秒Sleep(n)//n毫秒sleep(n)//n秒linux下的sleep函数原型为: unsigned int sleep(unsigned int seconds);而MFC中的Sleep函数原型为: void Sleep(DWORD dwMilliseconds);也就是说,Linux下(使用的gcc的库),sleep(原创 2015-09-04 16:25:30 · 469 阅读 · 0 评论 -
vc++出现warningC4819的处理方法
在“项目”-> “属性” -> “配置属性”-> “C/C++” ->“高级”的“禁用特定警告”中添加相应的警告编号:4819原创 2015-09-04 16:30:55 · 408 阅读 · 0 评论 -
vc如何在GUI界面下显示命令窗
vc的方法如下:生成事件(build event)->生成后事件(post-build event)->命令行(command line),输入:editbin /SUBSYSTEM:CONSOLE $(OUTDIR)\filename.exe,(其中filename为可执行文件名),则可以使用printf或者std::cout在控制台中输出了。例如你的可执行文件名为Hello原创 2015-09-04 16:35:21 · 481 阅读 · 0 评论 -
webp格式图片
支持透明,支持有损压缩,压缩率高(可以去掉附加信息,更小)未来完全可以替代png、jpg、bmp等格式原创 2015-09-04 16:36:05 · 465 阅读 · 0 评论 -
VS2010常用快捷键及修改
工具-选项环境-键盘【显示命令包含】下面选择某个功能,就可以查看并修改快捷键了。原创 2015-09-04 16:55:08 · 253 阅读 · 0 评论 -
boost::scoped_ptr<CUser> apUser(new CUser);
boost::scoped_ptr apUser(new CUser); scoped_ptr 比 std::auto_ptr更灵活不支持的数组new,json的parse,可以自己去实现,类的析构函数里面释放就可以了他的原理就是利用栈类自动析构。原创 2015-09-05 12:17:43 · 329 阅读 · 0 评论 -
gdb崩溃定位
崩溃定位:gdb xxx.execore corexxxxbt原创 2015-09-05 12:21:05 · 1368 阅读 · 0 评论 -
getline的bug
ifstream inf(filename);while (!inf.eof() ) {memset(buffer, 0, sizeof(buffer));// 当读到第一个超过buffer的行时,程序会陷入死循环, 微软buginf.getline(buffer, sizeof(buffer));string line(buffer);int lastpos =原创 2015-09-05 12:23:44 · 446 阅读 · 0 评论 -
Lambda 表达式
很方便,c++11的新特性原创 2015-09-05 12:41:00 · 260 阅读 · 0 评论 -
GDI+可以放弃了,效率不敢用
绘制1个图片就几十ms,pngimage绘制0ms处理图片的函数没有自己写的处理函数效率高原创 2015-09-05 12:45:51 · 2331 阅读 · 1 评论 -
vs2012 tab改成space
option--text editor--c/c++--tabs这样可以兼容所有编辑器,tab在不同编辑器下,宽度可能不一样原创 2015-09-10 10:28:17 · 605 阅读 · 0 评论 -
两个类相互包含引用的问题--类前向声明
问题解决办法一般的做法是:两个类的头文档之中,选一个包含另一个类的头文档,但另一个头文档中只能采用class*;的申明形式,而在实现文档中(*.cpp)中包含头文档如果其中1个头文件有模版函数,这个文件优先包含头文件,而不是用 class声明一个未知类。原创 2015-09-10 10:29:04 · 332 阅读 · 0 评论 -
memmove 和 memcpy的区别
memcpy和memmove()都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容,原型分别如下:void *memcpy(void *dst, const void *src, size_t count);void *memmove(void *dst, const void *src, size_t count); 他们的作用是一样的,唯一原创 2015-09-10 10:35:09 · 239 阅读 · 0 评论 -
string的+操作符需要include
默认vs,string的操作符有 += 和 +,需要#include 可以用string的+原创 2015-09-04 16:31:56 · 465 阅读 · 0 评论 -
VS2012编译出来的程序,在XP上不能运行的原因
VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application” 文章提示,dev11 VC complier 已经不在支持XP,如果想要支持XP系统,需要更新至 VS2012 Update1,同时,在Properties -> Configuration Properties -> Gener原创 2015-09-04 16:33:13 · 422 阅读 · 0 评论 -
i++还是++i
如果是独立语句,建议用++i,--i,这样第一眼看到的是运算符号,逻辑清晰些如果是这样的逻辑:array[i++]或array[++i],这就需要根据逻辑来确定用哪种写法了。i++表达式的值是加之前的值,++i表达式的值是i被加之后的值。原创 2015-09-25 21:01:25 · 293 阅读 · 0 评论 -
Linux程序编译速度提高方法
tmpfs: 解决IO瓶颈,充分利用本机内存资源make -j: 充分利用本机计算资源 make -j核心数 最快distcc: 利用多台计算机资源ccache: 减少重复编译相同代码的时间vs:Incredibuild5.0破解版原创 2015-09-04 16:28:03 · 479 阅读 · 0 评论 -
编译出现莫名其妙错误的原因
上文有特殊字符,比如汉字等。注释里面的特殊字符也会影响还有就是缺少包含头文件原创 2015-09-04 16:29:35 · 459 阅读 · 0 评论 -
extern”C” _cdecl
(1)编写dll时,为什么有 extern “C”原因:因为C和C++的重命名规则是不一样的。这种重命名称为“Name-Mangling”(名字修饰或名字改编、标识符重命名,有些人翻译为“名字粉碎法”,这翻译显得有些莫名其妙)据说,C++标准并没有规定Name-Mangling的方案,所以不同编译器使用的是不同的,例如:Borland C++跟Mircrosoft C++就不同,而且可能不原创 2015-09-05 12:31:45 · 613 阅读 · 0 评论 -
c++当某个函数很长时,却不想分写多个函数的解决办法
合理利用大括号{}和局部函数没多少区别,大括号里面的栈变量出了括号就释放内存了,和函数的调用类似。{logic1}{logic2}....原创 2015-09-25 21:05:07 · 780 阅读 · 0 评论 -
64位longlong格式化字符串
// windowsvoid CtestDlg::OnBnClickedButton1(){__int64 i = 2200000000;TCHAR szDescribe[256]=TEXT("");_snprintf(szDescribe,sizeof(szDescribe),TEXT("%I64d"),i);AfxMessageBox(szDescribe);原创 2015-09-07 12:32:01 · 3584 阅读 · 0 评论 -
头文件string与string.h的区别
一般一个C++的老的带“.h”扩展名的库文件,比如iostream.h,在新标准后的标准库中都有一个不带“.h”扩展名的相对应,区别除了后者的好多改进之外,还有一点就是后者的东东都塞进了“std”名字空间中。但唯独string特别。问题在于C++要兼容C的标准库,而C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数,比如楼主提到的strcmp。原创 2015-09-11 10:31:56 · 310 阅读 · 0 评论 -
循环里面的continue
循环里面尽量不用continue,循环变量的增量容易遗漏比如while(i { if(i =3) continue; i++;}会死循环。原创 2015-09-08 13:13:10 · 319 阅读 · 0 评论 -
多线程下的随机数初始化 srand()
今天在调试程序时候发现某个线程中的 rand() 随机函数每次运行都返回同一个数据,检查了程序,在程序中也调用了 srand(GetTicketCount()) 来初始化随机数生成器,那为什么每次运行结果还一样呢???后来发现,这个问题和多线程有关,跟踪 srand 和 rand 的函数内部后发现,其实 srand 和 rand 内部是使用了TlsGetValue等函数来存储随机数种子了,原创 2015-09-08 13:22:53 · 2281 阅读 · 0 评论 -
libcurl的使用--如何复用连接
正常使用curl的流程是:curl_global_initcurl_easy_init。。。调用数据curl_easy_cleanupcurl_global_cleanup这样去写逻辑,每次都会建立tcp连接,浪费了网络时间如果是多线程变成,应该这样,去重用http连接:1、main函数里面【主线程】:curl_global_init原创 2015-09-14 14:14:29 · 12708 阅读 · 0 评论 -
C++一个一个Hwd类库
duiLib,开源原创 2015-09-14 18:56:46 · 349 阅读 · 0 评论 -
for或while循环的break
break容易不遗忘比如需要在数组中查找一个符合一定条件的元素找到了,就需要break原创 2015-10-03 21:10:09 · 348 阅读 · 0 评论 -
HuffmanTree
//Huffman.cpp--HuffmanTree //use tab to seperate#include #include #include #include "myconst.h"typedef struct { unsigned int weight; unsigned int parent, lchild, rchild;}原创 2015-09-17 11:27:32 · 406 阅读 · 0 评论 -
zxscs
//zjscs.cpp--minimum cost spanning tree#include #include #include #include "myconst.h"#define MAX_VERTEX_NUM 20#define INFINITY INT_MAXtypedef int VRType;typedef int VertexType;typed原创 2015-09-17 11:37:07 · 272 阅读 · 0 评论 -
eff
#include #include #define FMT "%-10.5g"float f(float x) { return x * x - x - 1.0;}float erfen(float a, float b, float eps) { float f1, t, x, h; x = (a + b) / 2.0;原创 2015-09-17 11:38:36 · 276 阅读 · 0 评论 -
gyn
#include #include #define N1 2#define M1 3#define F(1e-6)#if M1 < N1#define T M#define M N1#define N M1#else#define M M1#define N N1#endif#define STR { if (fabs(a[j]) <原创 2015-09-17 11:42:35 · 322 阅读 · 0 评论 -
Jacbi_J
#include #include #define N 3#define FO "%-10.5g"void multm(float * a, float * b, int m, int n, int k, float * c) { int i, j, l, u; for (i = 0; i < m; i++) for (j = 0; j原创 2015-09-17 11:46:24 · 270 阅读 · 0 评论 -
qyz
#include #include #define N1 2#define M1 3#define F(1e-6)#if M1 < N1#define T M#define M N1#define N M1#else#define M M1#define N N1#endif#define STR { if (fabs(a[j]) <原创 2015-09-17 11:56:23 · 288 阅读 · 0 评论 -
setlinestyle(j,0,3)
#include #include int main() { int i, j; int graphdriver = DETECT; int graphmode; initgraph( & graphdriver, &graphmode, ""); cleardevice(); for (i = 0; i < 4;原创 2015-09-18 08:04:47 · 943 阅读 · 0 评论 -
BresenhamLine
#include #include void BresenhamLine(int x1, int y1, int x2, int y2);int main(void) { int gdriver = DETECT, gmode, errorcode; int bkcolor, midx, midy; initgraph( & g原创 2015-09-18 08:08:37 · 637 阅读 · 0 评论 -
读取或设置BIOS时间
#include #include #include #include int main( void ){ long bios_time; clrscr(); cprintf( "The number of clock ticks since midnight is:\r\n" ); cprintf( "The number of seconds since midnight i原创 2015-09-18 08:10:05 · 2159 阅读 · 1 评论 -
二维图形变换
// 显示鼠标 #include #include #include int main() { union REGS ri, ro; clrscr(); ri.x.ax = 0x0; int86(0x33, &ri, &ro); if (ro.x.ax > 0) { printf("\n\nYou have原创 2015-09-18 08:26:29 · 410 阅读 · 0 评论 -
printf("%s",s) 与 printf(s) 的区别
char s[20]="%12434";strcpy(s+1,"ttt");printf("%s",s);//printf(s)不行,有%原创 2015-09-18 09:09:19 · 5359 阅读 · 0 评论 -
结构体变量类型前面的struct能不能省略
//声明结构体struct example{//do sth};//c语音声明example变量不可以省略struct关键字struct example Struct1;//c++声明example对象可以省略关键字struct,并且c++里struct和类class基本具有相同的功能,只不过struct里的访问权限默认是public,class默认是private原创 2015-09-16 19:32:52 · 5304 阅读 · 0 评论 -
Newton
#include #define FMT "%-10.5g"#define N 3 typedef float FLT[N];float juncha(FLT x, FLT f, int n) { int i, j; float r, s = 0.0; for (j = 0; j <= n; j++) { r = 1.0;原创 2015-09-17 11:49:23 · 248 阅读 · 0 评论