目标:运行C++代码

example:有func.h,func.cpp, main.cpp

- .h无需编译,但.h中函数实现的地方需要编译(func.cpp)

- 逻辑:cpp各自生成可执行文件(.o),再进行链接

g++ -c func.cpp

g++ -c main.cpp

g++ main.o func.o -o test

或者直接:g++ main.cpp func.cpp -o test

编译多目录下的文件时,可以利用 -I 指定需要链接的文件的地址,例如下图:先生成myhead.cpp的可执行文件myhead.o,然后再编译main.cpp时指定其头文件&头文件函数定义地址myhead.o。

头文件:

include有两种方式:#include “”,#include <>。

区别在于:前者是从当前的目录来搜索,后者是一般会先搜索 -I 选项后的路径(即用gcc/g++编译时的-I选项),之后就是标准的系统头文件路径。

通过cpp -v命令,可以查看标准系统头文件的路径。

一般是这三个目录:usr(unix system resource)

usr/include

usr/lib/include

usr/local/include

如果我们在给要编译的代码加上自己的头文件,应该怎么办?

1,在path里面加上自己的目录

2,gcc或g++ 编译的时候 ,加上 -I 选项

最暴力g++:把所有文件、依赖都写上

示例:https://github.com/tuhahaha/ddbms200

readme里面的编译方式,可以结合着makefile和g++指令来看。

g++ linux intel 汇编,g++ linux相关推荐

  1. linux中断处理汇编入口,Linux中断处理体系结构分析(一)

    中断也是一种异常,之所以把它单独的列出来,是因为中断的处理与具体的开发板密切相关,除一些必须.共用的中断(比如系统时钟中断.片内外设UART中断)外,必须由驱动开发者提供处理函数.内核提炼出中断处理的 ...

  2. linux下汇编文件,Linux汇编教程14:系统调用和文件处理下

    紧跟着上一节,这一节我们来完成把小写变大写的功能.在开始之前,我们简单说一下寄存器存放的东西. %eax – 缓冲区起始地址 %ebx – 缓冲区大小 %edi – 当前缓冲区偏移量 %cl – 当前 ...

  3. 【Linux】三、Linux 环境基础及开发工具使用(上篇)|开发工具|编辑器-vim使用|sudo提升权限问题|编译器 - gcc/g++使用|项目自动化构建工构建工具-make/Makefile

    目录 一.开发工具 二.Linux编辑器 - vim使用 2.1 vim 的基本概念 2.2 vim的基本操作 2.3 vim正常模式命令集 2.4 vim末行模式命令集 2.5 简单vim配置 2. ...

  4. 【Linux】gcc/g++、gdb的使用

    文章目录 一.前言 二.gcc的基本使用 1. 预处理 2. 编译 3. 汇编 4. 链接 三.函数库 四.gcc常用选项总结 五.gdb的使用 1. 背景知识 2. 基本使用 一.前言 在学习本文前 ...

  5. Linux系统安装gcc/g++详细过程

    下载: http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/gcc-4.5.1.tar.bz2 浏览: http://ftp.gnu.org/gnu/gcc/gcc-4.5.1/ ...

  6. linux ATT汇编 与 Intel汇编 语法格式对比

    由于绝大多数的国内程序员以前只接触过Intel格式的汇编语言,很少或几乎没有接触过AT&T汇编语言,虽然这些汇编代码都是Intel风格的.但在Unix和Linux系统中,更多采用的还是AT&a ...

  7. php如何对几G的文本数据去重,Linux下导出数据库文件进行统计+去重

    本文主要讲述了如何在Linux中实现数据库文件统计以及去重,感兴趣的朋友可以来学习一下! 1. 把数据库表导出到文本文件中 mysql -h主机 -P端口 -u用户 -p密码 -A 数据库 -e &q ...

  8. 【OpenCV】Linux 下用 g++ 编译 OpenCV 程序

    编译命令: g++ gaussianBlur.cpp -o test `pkg-config --cflags --libs opencv` 执行编译生成的可执行文件: ./test gaussian ...

  9. linux修改文件夹的访问权限,linux setfacl chmod g+s 修改文件夹和文件的默认访问权限和所属组...

    linux setfacl chmod g+s 修改文件夹和文件的默认访问权限和所属组 我们在创建一个文件夹或者一个文件的时候,希望集成父文件夹的访问权限和组 修改默认访问权限 setfacl 以及 ...

最新文章

  1. 水晶报表设置FiledObject支持HTML格式的数据
  2. 分享平时工作中那些给力的shell命令(更新版)
  3. ORACLE——重做日志文件管理
  4. 《数据库SQL实战》获取当前(to_date='9999-01-01')薪水第二多的员工的emp_no以及其对应的薪水salary
  5. 如何在 Docker 环境下自动给 .NET 程序生成 Dump
  6. JS_01JavaScript基础笔记
  7. 多媒体交互应用基础(11)
  8. [Node.js] ES6新语法
  9. TIF合并Java代码
  10. IS-IS详解(四)——IS-IS Hello报文详解
  11. (转)Google Fonts 的介绍与使用
  12. C/C++[codeup 1931]打印日期,一年的第n天是几月几号
  13. 【STM32】使用ST-LINK V2下载程序
  14. Android中 Bitmap转JPG PNG
  15. 【图论】欧拉通路和哈密顿通路
  16. 当你一个人扛下所有,你就懂了
  17. 为什么程序员喜欢在半夜写代码?
  18. 波特兰:特别奖金3月PADNUG与Adam Cogan会面
  19. CSS篇-dbMovies和dbBooks小网页
  20. Java程序员必会!java语言的编译命令是什么

热门文章

  1. C语言循环为1404的循环,考试,求大神帮忙,C语言,小弟感激不尽
  2. java 检测ip网速_java心跳测网速Demo
  3. 统一设置网站html文件输出编码为utf-8,以解决乱码问题
  4. Esri Maps For Office制作漂亮的地图
  5. Java之Callable和Runnable
  6. linux网络编程之IP协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)和TCP、UDP协议头结构总结
  7. Shell常用命令总结
  8. linux下ffmpeg编译成so文件,一、ffmpeg编译成android使用的so库
  9. node中间件mysql_nodejs 中使用mysql数据有没有类似 mongoose 的中间件?
  10. 10岁高分考上大学,16岁读博的95后神童张炘炀,活成了他想要的样子吗?