多文件

之前没有这么玩过,因为确实不是很需要。

今天突然想起来了,那就搞一搞。

没啥事情还是用VS自动配置的makefile吧,简单多了。或者可以自己写makefile,也不是很难。
爪巴

操作

目前有三个文件

  1. hello.h

    #ifndef _Hello_H
    #define _Hello_H
    #include<iostream>
    
    void Print();
    
    #endif
  2. printHello.h

    #include "hello.h"
    
    void Print() { 
        using std::cout;
        using std::endl;
        cout << "Hello World!" << endl;
    }
  3. hello.cpp

    #include "hello.h"
    
    int main(){
        Print();
        return 0;
    }

然后按照下面的语句敲就好了

g++ hello.cpp printHello.cpp -o hello    #编译
./hello #运行

#或者
g++ -c hello.cpp #单独编译
g++ -c printHello.cpp    #单独编译
g++ -o hello hello.o printHello.o    #连接
./hello    #运行

#或者
g++ -c hello.cpp printHello.cpp    #编译
g++ -o hello hello.o printHello.o    #连接
./hello    #运行

gcc操作

其实gcc常用的操作对于我而言只有三个:

  • -o [file]生成可执行程序
  • -c生成编译文件
  • -s [file]生成汇编代码

我常用的gcc参数

  • -Wall 显示错误
  • -O2 吸氧优化
  • -std=c++17 语言标准
  • -fexec-charset=GB18030 -finput-charset=UTF-8 解决中文乱码

    命令行需要有GB18030编码支持

    一般都支持

  • -static-libgcc静态链接

合起来就是

g++ -Wall -O2 -static-libgcc -std=c++17 -fexec-charset=GB18030 -finput-charset=UTF-8
Last modification:April 27th, 2020 at 03:41 pm
Compared with money, your comment could inspire me more.
相较于钱财,你的留言更能激发我创作的灵感