首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

纯C的工程,怎的支持C++

2013-03-06 
纯C的工程,怎样支持C++。1. windows系统。。。手上有个一个纯C的makefile的工程,里面的代码全是.h 和.c文件的。

纯C的工程,怎样支持C++。
1. windows系统。。。
手上有个一个纯C的makefile的工程,里面的代码全是.h 和.c文件的。
用nmake会编译出一个exe和一个DLL。

2. 里面的函数定义形如:
void Fun(iID)
int iID;
{
    //Fun implimentation...
}

3. 因为想用STL的queue<>和list<>,需要让这个工程支持C++。 
纯C的有什么轻松实现链表的方法么?

4. 但悲剧的是VS用习惯了,搞不懂怎么样才能支持C++。
使用在编译器的flag里面加上/TP,结果编译时里面的参数定义全部错误,得要改成:
void Fun(int iID)
{
    //Fun implimentation...
}
函数太多了呀。。。

5. 这种makefile工程,有工具能转为VS工程不?

多谢各位高人。

c++ makefile 编译器 c
[解决办法]
C的链表用宏定义就能实现了,

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/sys/queue.h?rev=1.80;content-type=text%2Fx-cvsweb-markup
[解决办法]
建立C++工程,用extern "C"将C的工程文件包括进来
[解决办法]

/* Functions */
#ifndef_TMCTL_DEFINES
#ifdef__cplusplus
extern"C" {
#endif
externint__stdcall TmcInitialize( int wire, char* adr, int* id );
externint__stdcall TmcFinish( int id );
#ifdef__cplusplus
}
#endif
#endif

#endif

[解决办法]
先别管makefile,新建工程,把源码导入,编译,排错,
一般会提示找不到头文件之类,把makefile打开看看,找到头文件的路径,加到引用里.
然后会提示找不lib或者找不到符号.去makefile找要引用lib,加入引用列表.
在看看makefile里有的编译参数,一起加上.
总之,就是根据makefile自己重建VS工程.
[解决办法]
VC6:
工程、设置、C/C++、分类:Preprocessor、附加包含路径:填写附加头文件所在目录 逗号间隔多项
工程、设置、Link、分类:Input、附加库路径:填写附加依赖库所在目录 分号间隔多项
工程、设置、Link、分类:Input、对象/库模块:填写附加依赖库的名字.lib 空格间隔多项
VS20xx:
项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项
项目、属性、链接器、附加库目录:填写附加依赖库所在目录 分号间隔多项
项目、属性、链接器(点前面的+展开)、输入、附加依赖项:填写附加依赖库的名字.lib 空格间隔多项

热点排行