
C++
文章平均质量分 74
lzpfmh
share resource share happiness
展开
-
编译过程
在编写完程序,在编译器的菜单里选择“编译”后,编译器所做的大致可以分为三个过程:首先,代码通过一个预处理器(preprocessor),这个预处理器会识别出代码的有关元信息。其次,代码经过编译(compile),或翻译为机器可读的对象文件。最后,单个的对象文件链接(link)到一起,构成了一个应用。在vc中编译选项的设置里,“C++”中设置的是与编译过程相关的项,在“链接器”中设置的是与链接相关的转载 2009-09-30 11:58:00 · 661 阅读 · 0 评论 -
结构体对齐的具体含义(#pragma pack)
结构体对齐的具体含义(#pragma pack)作者:panic2005年4月2日发表时间: 2005-04-02 22:53:27 朋友帖了如下一段代码: #pragma pack(4) class TestB { public: int aa; char a; short b; char c; }; int nSize = size转载 2009-09-26 14:41:00 · 505 阅读 · 0 评论 -
终于搞懂了预编译头文件(precompiled header)
预编译头文件今天在改一个很大的程序,慢慢看,慢慢改。突然发现一个.c文件,里面什么也没有, 就几个头文件,我一看,我靠,这不是把简单的问题搞复杂了吗,随手删掉那个c文件。 结果不能编译了,我靠: fatal error C1083: Cannot open precompiled header file: /Debug/v13_3.pch/: No suc转载 2009-09-26 15:03:00 · 1140 阅读 · 0 评论 -
LNK2005错误——重复定义错误
编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。 造成LNK2005错误主要有以下几种情况: 1.重复定义全局变量。可能存在两种情况: A、对于一些初学编程的程序员,有时候会以为需要使用全局变量的地方就可以使用定义申明一下。其实这是错误的,全局变量是针对整个工程的。正确的应该是在一个CPP文件中定义如下:i转载 2009-09-24 16:46:00 · 1103 阅读 · 1 评论 -
转载一个老外的编译错误hope useful to some one really need it
a function template error, in the vc 8 there was on such error ,but when switch to vc9(vs2008) ,get the error:development/src/d3ddrv/src/D3DStats.h(27) : errorC2785: T InitialStatValue(void) and F转载 2009-10-03 16:52:00 · 1627 阅读 · 0 评论