之前不太会 C++,在 leet code 上尝试用 C++解决算法问题 这里我想使用 CLion 调试我的 C++ 程序

那么问题产生,我该如何创建我的第一个 C++ 项目呢?

step 1.打开我的 CLion

C++第一课_库文件

  • so,那么现在我想知道 C++ Executable 和 C++ Library 的区别
  • 根据我的编程经验应该不选择 C++ Library

C++ Executable 和 C++ Library的区别

  • C++ Executable 是一个可执行的 C++程序
  • 它包含了主函数和其他必要的代码,可以直接在命令行或其他环境中运行。
  • 选择 C++ Executable 时,Clion 会为你创建一个可执行文件作为项目的输出。
  • C++ Library 是一个 C++库项目
  • 它用于创建可供其他程序使用的库文件。
  • 选择 C++ Library 时,Clion 会为你创建一个库文件作为项目的输出
  • 其他程序可以通过链接该库文件来使用你的代码。

step 2.认识我的第一个C++项目

C++第一课_g++_02

  • 那么现在 作为一个初学者,迷惑的地方就来了,这 C++ 的输出程序怎么那么奇怪呢?
  • so,经过学习了解

  • C++ 输出流对象是 cout,其属于标准库 std
  • 一种写法如下
  • std::cout
  • 其意义是使用标准库 std 的输出流对象 cout
int main() {
    std::cout << "hello, worlde" << std:endl;
    return 0;
}
  • 另一种写法
  • 通过using namespace std 引入标准库 std
  • 然后直接使用 cout,cin 等对象
using namespace std
int main() {
    cout << "hello, world" << endl;
    return 0;
}

  • C++ 程序的源文件通常使用扩展名 .cpp、.cp 或 .c

step 3.了解 C++ 程序的编译方式

g++ 应用说明

程序 g++ 是将 gcc 默认语言设为 C++ 的一个特殊的版本,链接时它自动使用 C++ 标准库而不用 C 标准库。通过遵循源码的命名规范并指定对应库的名字,用 gcc 来编译链接 C++ 程序是可行的
如下代码
$ gcc main.cpp -lstdc++ -o main

  • gcc:调用 GCC 编译器进行编译
  • main.cpp:指定要编译的 C++ 源代码文件的名称。在这个例子中,源代码文件名为 main.cpp
  • -lstdc++:指定要链接的 C++ 标准库的名称。在这个例子中,我们链接了 GNU C++ 标准库(也称为 libstdc++)
  • -o main:指定生成的可执行文件的名称。在这个例子中,我们将生成的可执行文件命名为 main

因此,当你运行这个命令时,GCC 编译器将会编译 main.cpp 文件,并将生成的目标文件链接到标准 C++ 库,最后生成一个名为 main 的可执行文件。你可以通过在终端中输入 ./main 来运行这个可执行文件。

g++ 常用命令选项

C++第一课_可执行文件_03