記事ディレクトリ
関係
1gcc
はコンパイラです。ソースコードを実行可能ファイルに変換します。
プログラムにソース ファイルが 1 つしかない場合は、gcc コマンドを直接使用してコンパイルできます。しかし、プログラムに多数のソースファイルが含まれており、gcc コマンドを使用してそれらを 1 つずつコンパイルすると混乱しやすく、作業負荷が高くなるため、make ツールが登場しました。
2make
はバッチ処理ツールです。プロジェクト全体を通じてコンパイル プロセスを管理します。メイクファイルに基づいて作成されます。
3は、 make コマンドに使用されるmakefile
テキスト ファイルです。一連のルールとコマンドが含まれています。make ツールは、makefile 内のルールを読み取り、どのファイルを再コンパイルする必要があるか、またコンパイル プロセスを完了するためにどのコマンドを実行するかを決定します。
単純なプロジェクトではメイクファイルを手書きで作成できる場合もありますが、プロジェクトが非常に大規模になるとメイクファイルを手書きするのも非常に面倒ですし、プラットフォームが変わると再度メイクファイルを修正する必要があります。このとき、Cmakeツールが登場しました。
4はクロスプラットフォーム ビルド ツールcmake
です。cmake は、make で使用するための makefile をより簡単に生成できます。
5 はcmakelist
cmake をコマンドするために使用されるテキスト ファイルです。
参考URL:http://t.csdn.cn/iNMcN
2gcc
インストール:
sudo apt update
sudo apt install build-essential gdb
2.1 コンパイルプロセス
- 前処理-E .i 展開マクロ
- コンパイル -S .s c -> アセンブル
- アセンブリ-c .o アセンブリ->バイナリ
- リンク -o bin ファイル
2.2 コンパイルパラメータ
1 -g デバッグ情報付き
2 -O2 ソースコードを最適化します。
3 -l -L はライブラリ ファイルを指定します | ライブラリ ファイルのパスを指定します
4 -I ヘッダー ファイルの検索ディレクトリを指定します
5 - 壁には警告メッセージが印刷されます
6 -w は警告メッセージをオフにします
7 -std=c++11 コンパイル標準を設定します
8 -o は出力ファイル名を指定します
9 -D マクロを定義します
2.3 静的ライブラリと動的ライブラリ
1 つのサフィックス
- 静的ライブラリのサフィックス名:
.a
- 動的ライブラリのサフィックス名:
.so
2 つながりと違い
- 静的ライブラリはコンパイル中にターゲット プログラムにリンクされ、プログラムの一部になります。利点は、実行可能ファイルが実行時に外部ライブラリに依存しないことです。デメリットはファイルサイズが大きくなることです。
- ダイナミック ライブラリは最終的な実行可能ファイルにコピーされないため、メモリと互換性の問題が節約されます。
2.4 GDB デバッガ
-
インストール
sudo apt update sudo apt install build-essential gdb
-
-g を使用してコンパイルする必要がある
gcc -g main.c -o main
1 よく使われるコマンド
三メイク、メイクファイル
4 つの cmake、cmakelist
4.1 文法的特徴
4.2 重要なコマンド
# CMake最小版本要求为2.8.3
cmake_minimum_required(VERSION 2.8.3)
# 指定工程名为HELLOWORLD
project(HELLOWORLD)
# 定义SRC变量,其值为sayhello.cpp hello.cpp
set(SRC sayhello.cpp hello.cpp)
# 将/usr/include/myincludefolder 和 ./include 添加到头文件搜索路径
include_directories(/usr/include/myincludefolder ./include)
# 将/usr/lib/mylibfolder 和 ./lib 添加到库文件搜索路径
link_directories(/usr/lib/mylibfolder ./lib)
# 通过变量 SRC 生成 libhello.so 共享库
add_library(hello SHARED ${SRC})
# 添加编译参数 -Wall -std=c++11 -O2
add_compile_options(-Wall -std=c++11 -O2)
# 编译main.cpp生成可执行文件main
add_executable(main main.cpp)
# 将hello动态库文件链接到可执行文件main
target_link_libraries(main hello)
# 添加src子目录,src中需有一个CMakeLists.txt
add_subdirectory(src)
# 定义SRC变量,其值为当前目录下所有的源代码文件
aux_source_directory(. SRC)
# 编译SRC变量所代表的源代码文件,生成main可执行文件
add_executable(main ${SRC})
4.2 重要な変数
4.3 コンパイルプロセス
- 1 CMakeLists.txtを書き込む
- 2 コマンドを実行します: cmakeメイクファイルを生成するパス
- 3 コマンドを実行:make
4.4 2つの施工方法
FiveVscode
5.0 よく使用されるショートカット キー
ショートカットキー | 関数 |
---|---|
行コメント | Ctrl+/ |
コメントをブロックする | Ctrl+Shift+A |
現在の行を移動する | alt+上/下 |
コマンドパネル | Ctrl+Shift+P |
ファイルに移動 | Ctrl+P |
行に移動 | Ctrl+G |
ターミナルを開く | Ctrl+~ |
変数の名前変更 | F2 |
サイドバーを開く/閉じる | Ctrl+B |
エディターの分割 | Ctrl+\ |
サムネイル | メニューバー: 表示/外観 |
コードのインデント | Ctrl+[/] |
コードのフォーマット | Ctrl+Shift+I |
下に行を挿入 | Ctrl+Enter |
定義に移動 | F12 |
編集領域の拡大および縮小 | Ctrl+ -/+ |
5.1 インターフェース
4 つの主要な領域: メニュー バー、サイドバー、編集領域、ステータス バー