2011年4月13日
摘要: // dd.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <atlbase.h>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ CComBSTR bVal("1.0"); if(bVal != L"1.0") cout<<"no"<<endl; else cout<<"yes"& 阅读全文
posted @ 2011-04-13 23:25 清清飞扬 阅读(1700) 评论(0) 推荐(0) 编辑
摘要: 问题描述:大部分的vs.net 2005的用户在新建“win32项目-windows应用程序”的时候,新建的工程都通不过去,出现如下提示:Solution to “MSVCR80D.dll not found” by hua.“没有找到MSVCR80D.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。”的完美解决方案^_^感觉偶做的还不错问题所在:由于vs.net 2005 采用了一种新的DLL方案,搞成一个exe还要配有一个manifest文件(一般在嵌入文件里了,所以看不到,不过也可以不嵌入,这样会生产一个<程序名>.exe.manifest的文件,没它ex 阅读全文
posted @ 2011-04-13 23:17 清清飞扬 阅读(2063) 评论(0) 推荐(0) 编辑
摘要: From: http://blog.ednchina.com/tianlebo/479334/message.aspxextern "C"表示编译生成的内部符号名使用C约定。C++支持函数重载,而C不支持,两者的编译规则也不一样。函数被C++编译后在符号库中的名字与C语言的不同。例如,假设某个函数的原型为:void foo( int x, int y ); 该函数被C编译器编译后在符号库中的名字可能为_foo,而C++编译器则会产生像_foo_int_int之类的名字(不同的编译器可能生成的名字不同,但是都采用了相同的机制,生成的新名字称为“mangled name”)。_ 阅读全文
posted @ 2011-04-13 14:01 清清飞扬 阅读(1211) 评论(0) 推荐(0) 编辑
摘要: 在linux下调试一个C,通过,没问题,因为linux是在服务器上,大家公用的,所以都是在自己的机子上调试好了再拿去跑,但是刚刚一个跑通过的程序,竟然在自己机子的XP VC6下又跑不过去了(搞笑的是这个C还是在VC下编好的),怎么回事呢,提示是:error C2275: 'time_t' : illegal use of this type as an expression如图: 怎么回事呢,google一下,都没搜到,无意中看到一篇文章很简单,说的是: (declaration)must placed on the beginning of function, In this 阅读全文
posted @ 2011-04-13 13:06 清清飞扬 阅读(10919) 评论(0) 推荐(0) 编辑
摘要: gcc和g++都是GNU(组织)的一个编译器。 误区一:gcc只能编译c代码,g++只能编译c++代码 两者都可以,但是请注意: 1.后缀为。c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为。cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。 2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。 误区二:gcc不会定义__ 阅读全文
posted @ 2011-04-13 09:30 清清飞扬 阅读(3726) 评论(0) 推荐(0) 编辑
摘要: 本来我用的是这样的程序# include <iostream.h>int main(void){ int i,j; j=0; i=j+1; cout<<"hello world!"<<endl; cout<<"the result is"<<i<<endl; return 0;}利用g++ -o test test.cpp。但是这样是有错误的,提示无法打开iostream.h,修改成这样的程序# include <iostream>using namespace std; 阅读全文
posted @ 2011-04-13 09:24 清清飞扬 阅读(1099) 评论(0) 推荐(0) 编辑