gcc和g++的问题

nanbazhangbiao 2011-12-07 10:19:15
gcc和g++编译的区别是什么?

我现在有一段c代码。。但是要调用c++的静态库。。

能够用g++编译后直接调用么?
...全文
125 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
teleinfor 2011-12-20
  • 打赏
  • 举报
回复
关键你可能没了解lz的需求,他需要使用string,并且作为参数传递,那么必须包含string的头文件<string>和std名字空间了。呵呵。
[Quote=引用 9 楼 nanbazhangbiao 的回复:]

g++只是说编译的时候,把.c的代码当成cpp处理。。。但是并不是说这个时候的代码就是c++代码了
c程序还是c程序

哪儿来std和string头文件

虽然我对gcc和g++理解不深。。但是上面的几位明显也没搞懂他们的区别
[/Quote]
Trinx 2011-12-19
  • 打赏
  • 举报
回复
好想法
jialejiahi 2011-12-18
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 nanbazhangbiao 的回复:]

g++只是说编译的时候,把.c的代码当成cpp处理。。。但是并不是说这个时候的代码就是c++代码了
c程序还是c程序

哪儿来std和string头文件

虽然我对gcc和g++理解不深。。但是上面的几位明显也没搞懂他们的区别
[/Quote]
你自己编译看看就知道咯。看看用gcc -lstdc++能不能编译.cpp程序。
可以用-v选项打印出编译的过程。
nanbazhangbiao 2011-12-07
  • 打赏
  • 举报
回复
g++只是说编译的时候,把.c的代码当成cpp处理。。。但是并不是说这个时候的代码就是c++代码了
c程序还是c程序

哪儿来std和string头文件

虽然我对gcc和g++理解不深。。但是上面的几位明显也没搞懂他们的区别
jialejiahi 2011-12-07
  • 打赏
  • 举报
回复
说反了

一般情况下g++ 等价于 gcc -lstdc++
jialejiahi 2011-12-07
  • 打赏
  • 举报
回复
一般情况下gcc 等价于 g++ -lstdc++
teleinfor 2011-12-07
  • 打赏
  • 举报
回复
C++代码当然就需包含响应的文件了。
比如:
#include <string>
using namespace std;
当然其他需要的东西都可以包含进来啊。
reactiveF 2011-12-07
  • 打赏
  • 举报
回复

#include <string>
using namespace std;

void func(string s1)
{
printf("%s\n", s1.c_str());
}

int main(int argc, char *argv[])
{
string s1 = "s1";
func(s1);
return 0;
}
nanbazhangbiao 2011-12-07
  • 打赏
  • 举报
回复
关键现在我的代码是c代码。。c里面不认识string是个什么东东啊。。
也没有这类头文件

我调用的时候怎么传参?
reactiveF 2011-12-07
  • 打赏
  • 举报
回复
c程序代码用g++编译意味着这段代码以c++方式被编译和链接,遵循c++的规则,也就成为了c++代码;

这个和你在c++里声明一个单独的函数,参数里有个string类的概念一样,当然可以调用了.
nanbazhangbiao 2011-12-07
  • 打赏
  • 举报
回复
楼上的确定可以直接用g++编译就可以调用c++的库了?

如果c++接口函数里面有string 类型参数?c这边怎么调用?
Arnold9009 2011-12-07
  • 打赏
  • 举报
回复
C直接就可以调用C++库里面的函数(前提是C++库里的函数要用C的方式进行声明)

当然也可以用g++编译,这样可以直接调用C++库

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧