首页 > 编程语言 >c++可执行文件产生过程

c++可执行文件产生过程

时间:2022-09-28 17:35:48浏览次数:81  
标签:可执行文件 std include ++ c++ -- output main 过程

https://blog.csdn.net/qq_34799070/article/details/125472381


#ifndef TEST
#define TEST

#include <iostream>
using namespace std;

void test()
{
    cout << "hello word" << endl;

}

#endif
#include <iostream>
#include <mytest.h>
using namespace std;

// https://blog.csdn.net/chen1083376511/article/details/114447485
// g++ -I .\include\ -Wall -std=c++11 .\main.cpp -o .\output\main.exe

// 1. 预处理--宏展开,头文件包含:g++ -I .\include\ -Wall -std=c++11 -E .\main.cpp -o .\output\main.i
// 2. 编译--生成汇编语句代码:g++ -S .\output\main.i -o .\output\main.s 
// 3. 汇编--生成机器语言代码:g++ -c .\output\main.s -o .\output\main.o
// 4. 链接--生成可执行稳健:g++ .\output\main.o -o .\output\main.exe
int main()
{
    test();
    return 0;
}

生成一个C++程序共有三个步骤:

  1. 预处理:代码在预处理器中运行,预处理器会识别代码中的元信息。

  2. 编译:代码被编译或转换为计算机可以识别的目标文件。

  3. 链接:独立的目标文件链接在一起变成一个应用程序。

标签:可执行文件,std,include,++,c++,--,output,main,过程
From: https://www.cnblogs.com/douzujun/p/16738880.html

相关文章

  • C++问题汇总——长期更新
    避免使用vector<bool>,尽量使用bitset或者deque<bool>因为vector<bool>不是容器,底层是bool值按bit存储STLlist容器数据结构上看是带空头的双向循环链表容器迭代......
  • 通过Oracle存储过程执行动态SQL输出结果集
    好久没用发现有些记不得了,整理记录下CREATEORREPLACEPROCEDUREP_TEST_OUTCUR1(O_CUROUTSYS_REFCURSOR)ASR_ERR1EXCEPTION;--自定义异常V_SQLSVARCHAR2(20......
  • [答疑]使用顺序图描述小刘给小王打一次电话的过程
    ​​重点文章:CTO也糊涂的常用术语:功能模块、业务架构、用户需求……[20210217更新]>>​​2013-05-0916:49:55chris(1311***268)潘老师麻烦您帮我看看这个题对么?例题:使用顺......
  • Spring MVC框架:第一章:SpringMVC概述及初步体会SpringMVC使用过程
    第一节SpringMVC在知识体系中的坐标在我们学习框架知识以前,JavaSE+JDBC+JavaWeb+SQL这样的技术组合已经可以实现任何业务逻辑了。为什么还要学习SSM这样的框架呢?很简单,M......
  • 【C++】关于智能指针的简单学习
    智能指针示例类:classString{private: stringm_value;public: String(stringstr):m_value(str){ cout<<"构造"<<m_value<<"\n"; } friendostream&o......
  • c++基本数据类型
    #include<iostream>#include<typeinfo>usingnamespacestd;intmain(){ inti; //定义一个整型变量 cout<<"输入一个整数i:"; cin>>i; cout<<"输出刚才......
  • mysql存储过程的调用方法
    mysql存储过程的调用方法是经常会用到的,下面就为您介绍mysql存储过程的调用方法,希望对您学习mysql存储过程方面会有些许帮助。先进入mysql命令行环境然后创建函数,先要选择数......
  • oracle在SQL窗口中调用存储过程sql
    DECLARErs_json_outVARCHAR2(512);p_errmsgVARCHAR2(512);BEGINSP_SST_GET_CARD_NO('{"P_ZDBH00":"001","P_INSUORG":"360000","P_ID0000":"02","P_SFZHAO":"350821198......
  • 33、C++双目摄像头进行测距实验
    基本思想:因为最近用到了双目摄像头测距的代码逻辑,逐记录和转发一下大佬们的知识点,本菜鸡使用的深圳市鸿市康科技有限公司的双目摄像头进行测试 本测试需要使用pycharm和Mat......
  • C++时间与字符串转换
    1.1、常用的时间存储方式2.3.1)time_t类型,这本质上是一个长整数,表示从1970-01-0100:00:00到目前计时时间的秒数,如果需要更精确一点的,可以使用timeval(time_t*t);//取得......