当前位置: 首页 > news >正文

做装修公司的网站/营销型网站建设托管

做装修公司的网站,营销型网站建设托管,安徽公共资源交易中心招标网,网站销售怎么做关于在linux下用gcc编译头文件的问题。 举报|2011-01-21 18:5215052135380 | 分类:其他编程语言 | 浏览8139次有node.h prepare.h list.h file.h 这四个头文件, prepare.h中用到了node.h, list.h中用到了preapre.h , file.h中用到了list.h &…

关于在linux下用gcc编译头文件的问题。

举报|2011-01-21 18:5215052135380 分类:其他编程语言 | 浏览8139次
有node.h   prepare.h   list.h   file.h  这四个头文件, prepare.h中用到了node.h,  list.h中用到了preapre.h ,  file.h中用到了list.h ,怎么用gcc对这四个头文件进行编译。
2011-01-22 02:23 提问者采纳
我用一个例子来告诉你怎么样在 C++ 里使用C的头文件/函数。

比方说我有一个C的头文件叫 c.h, C的源码文件叫 c.c,内容分别是

c.h:
#ifndef _ASDFD_INCLUDED_
#define _ASDFD_INCLUDED_

#include <stdio.h>

extern int test(int a);

#endif

c.c:
#include "c.h"

int test(int a)
{
printf("A = %d\n", a);
return a*a;
}

现在我想在c++中使用c.c中提供的函数test(),我的c++文件名字叫 a.cpp,那么里面跟C有关的部分就要用 extern "C" {} 大括号括起来,看看我的
a.cpp:
#include <iostream>
using namespace std;

extern "C"
{
#include "c.h"
}

int main()
{
int b = 12;

b = test(b);

cout<<"b = "<<b<<endl;
return 0;
}

看到了吧,#include "c.h" 被 extern "C" {}括起来了。

然后是如何编译,先把C文件编出目标文件(.o)来
gcc -c c.c
你会看到生成了 c.o,其实,有目标文件就够了,如果你一定要做成(静态/动态)库文件,也是可以的,不过我这里就不深入了,做成库和直接用目标文件对解决你的问题没有任何区别。

然后再编译C++文件,也就是我的 a.cpp
g++ -o hello a.cpp c.o
看到了吧,我在编译 a.cpp 的时候把C生成的 c.o也加上了。 然后生成 可执行的 hello, 运行
./hello
就可以看到
A = 12
b = 144

关于创建静态库,假定你有3个C文件, a.c, b.c, c.c 提供了你C++要用到的接口,那么可以把这三个C文件编译出来的目标文件放到一个库文件里供C++使用,方法为

先编译出目标文件
gcc -c a.c b.c c.c

这时候你应该看到有 a.o b.o c.o了

然后创建库文件
ar cr libtest.a a.o b.o c.o
这三个目标文件就放入 libtest.a 这个静态库中了,然后编译C++程序 (你的C++程序应该已经按照我前面说的用 extern "C" 把C的接口都括起来了),假定你的 libtest.a 放在 /home/aaa/lib下

g++ -o my.exe my.cpp -L/home/aaa/lib -ltest

就会生成可执行文件 my.exe了。

转载于:https://www.cnblogs.com/maple-2150/p/4204425.html

http://www.lbrq.cn/news/99127.html

相关文章:

  • 网站开发 语言/优化seo系统
  • 台州做网站优化哪家好/爱站网长尾关键词挖掘查询工具
  • 做视频网站需要多少带宽/9个成功的市场营销案例
  • 网站开发总结经验和教训/知名网络软文推广平台
  • 低成本做网站 白之家/厦门百度公司
  • 学做网站书籍/广告公司排名
  • 云南网红景点/seo免费
  • 品牌网站建设市场/海淀区seo搜索引擎
  • 做网站为什么需要营业执照/软文写手
  • 工艺宣传网站建设/百度云盘资源共享链接群组链接
  • 怎么做网站服务/网站推广费用
  • 网站建设 找客户/seo全国最好的公司
  • 山东网站建设团队/网站平台做推广
  • 做交友网站多少钱/百度快速排名 搜
  • wordpress怎样添加备案/图片优化软件
  • 开发网站价格/手机如何制作网站教程
  • 什么网站做h5好/东营百度推广电话
  • 好看的网站推荐一下/厦门seo培训学校
  • 做网站一定要效果图吗/网络营销推广8种方法
  • 网站建设价格西安/大连做优化网站哪家好
  • 网站后台用java怎么做/网络公司推广方案
  • 网站么做淘宝客赚佣金/宁波seo哪家好快速推广
  • 做汽车网站开题报告的意义/无锡seo公司
  • 怎么查网站的浏览量/uc浏览器关键词排名优化
  • 做网站用的编程工具/石景山区百科seo
  • 文具网站建设规划书/黄页大全
  • 专做海报设计的网站/百度客户服务电话是多少
  • 中国建设人才网信息网站/电商网站seo
  • 河南安阳疫情最新消息/被逆冬seo课程欺骗了
  • 举报网站建设自查报告/如何搭建企业网站
  • Redis---事务
  • 【STM32】HAL库中的实现(九):SPI(串行外设接口)
  • C++---滑动窗口平滑数据
  • 【问题思考】为什么需要文件后缀?(gemini完成)
  • AUTOSAR自适应平台(AP)中元类(Metaclass)、建模(Modeling) 和 ARXML 这三者的核心关系与区别
  • RK-Android11-PackageInstaller安装器自动安装功能实现