
C++/安装、编译、调试
文章平均质量分 69
C++/编译器:gcc、g++、makefile、cmake
u013250861
这个作者很懒,什么都没留下…
展开
-
VSCode:C++在.h头文件和.cpp源文件之间切换
在源文件和头文件之间切换了。在vscode中安装Switcher拓展。(我也不知道为什么)。原创 2024-08-24 00:22:21 · 1319 阅读 · 0 评论 -
VSCode:C++语言没有代码提示
时安装了clangd插件后,C/C++插件没有代码提示,我的原因在于clangd的插件与C/C++冲突,点击自动配置后,C/C++的代码提示功能被禁用了。原创 2024-08-24 00:15:50 · 2467 阅读 · 0 评论 -
VSCode 、Cmake、C++调试教程
下面的代码片段中,使用install安装demo_test,并分别将可执行文件安装在bin中,动态链接库和静态链接库都安装在lib,公共头文件安装在include。这里我们用到add_library,和add_executable一样,Account为最终生成的库文件名(lib库名称.a),第二个参数是用于指定链接库为动态链接库(SHARED)还是静态链接库(STATIC),后面的参数是需要用到的源文件。program:要调试的代码的绝对目录,一般填的是“${file}”, 也可以改成其他的文件。原创 2024-08-23 22:48:00 · 2922 阅读 · 0 评论 -
C++调试器:CMAKE项目利用gbc进行调试
task文件的作用:定义自己需要在命令行进行的操作,组合在一起进行一个批处理。注意设置程序为debug模式,这样才能够进行代码调试。定义每次run之前要做的事情,就能够做到自动化调试了。原创 2022-11-20 14:54:00 · 348 阅读 · 0 评论 -
基于VSCode和CMake实现的C/C++开发-Linux篇
总而言之,本课程将从零开始,教会你如何在Linux开发C/C++,带领你一起打开新世界的大门~课程宗旨:无干货,不视频。分享让生活更美好。什么是linux系统?多用户多任务:Windows属于:单用户、多任务。Linux属于:多用户、多任务。Linux一切皆文件对于文件的操作的都有哪些种类?目录结构:指令含义:Linux的指令是指在Linux**终端(命令行)**中输入的内容。指令格式: 1.3 重要指令讲解 +【实战】命令行 pwd - Print current working di原创 2024-08-10 19:37:21 · 820 阅读 · 0 评论 -
C++-网络库:Poco安装【Ubuntu】【C++项目默认安装位置:/usr/local/,头文件:/usr/local/include、库文件:/usr/local/lib】【自定义安装位置】
进入新创建的cmake-build文件夹。创建cmake-build文件夹。3.15版本往后,使用。原创 2022-11-10 23:39:21 · 2367 阅读 · 0 评论 -
C/C++-编译:编译(building)概述【编译就是要将C/C++ 的代码映射到相应的机器码】【编译流程:预处理、编译、汇编、链接】
模式,包括内存的分配,如何使用等等。整型,数组,指针等这些在内存中的实现机制。C/C++ 编译就是要将C/C++ 的代码映射到相应的机器码,以及讨论其中的。编译过程分为四步:预处理、编译、汇编、链接。C/C++是编译型高级语言,程序要执行,必须要有。原创 2022-11-10 23:37:31 · 255 阅读 · 0 评论 -
C/C++-编译器(一):gcc/g++【级别:Level-0】【步骤:①编译(g++ -c xx.cpp -o a.o);②链接(g++ xx.o yy.o -o exe.bin)(检查函数引用)】
GCC(GNU Compiler Collection)是由 GNU 开发的编程语言编译器。 GCC最初代表“GNU C Compiler”,当时只支持C语言。 后来又扩展能够支持更多编程语言,包括 C++、Fortran 和 Java 等。 因此,GCC也被重新定义为“GNU Compiler Collection”,成为历史上最优秀的编译器, 其执行效率与一般的编译器相比平均效率要高 20%~30%。GCC的官网地址为:https://gcc.gnu.org/,在Ubuntu系统下系统默认已经安装好G原创 2022-05-28 13:11:08 · 484 阅读 · 0 评论 -
C/C++-编译器(二):Makefile【包装所有g++指令】【描述文件编译的相关规则,告诉make要完成的shell指令】【一份定义了源文件间依赖关系、如何编译各个源文件并生成可执行文件的说明书】
在我们执行make之前,需要有一个名为makefile或Makefile的文件。这个文件用来告诉make需要完成什么样的操作。我们可以简单的把makefile认为是一份定义了源文件间依赖关系、如何编译各个源文件并生成可执行文件的说明书。只有字符串类型;多个字符串以空格隔开之后可以看做为数组;原创 2022-05-28 11:40:47 · 292 阅读 · 0 评论 -
C/C++-编译:静态库(libxxx.a)【打包工具ar】、动态库(libxxx.so)【步骤①:生成目标文件;步骤②:生成动态共享库;③:设置动态库路径LD_LIBRARY_PATH】
所谓“程序库”,简单说,就是包含了数据和执行码的文件。其不能单独执行,可以作为其它执行程序的一部分来完成某些功能。库的存在可以使得程序模块化,可以加快程序的再编译,可以实现代码重用,可以使得程序便于升级。程序库可分和。原创 2022-09-20 21:54:48 · 1781 阅读 · 0 评论 -
C/C++-编译:链接【静态链接(由链接器在链接时将库的内容加入到可执行程序中)】、【动态链接(链接器在链接时仅仅建立与所需库函数的之间的链接关系,在程序运行时才将所需资源调入可执行程序)】
动态链接:链接器在链接时仅仅建立与所需库函数的之间的链接关系,在程序运行时才将所需资源调入可执行程序。静态链接:由链接器在链接时将库的内容加入到可执行程序中。前面我们编写的应用程序大量用到了标准库函数,系统默认采用。若想采用静态编译,加入。的方式进行编译程序,原创 2022-09-20 21:08:28 · 188 阅读 · 0 评论 -
C++调试器:GDB调试器【安装、使用】(gdb主要调试的是C/C++的程序)【安装gdb时默认安装gcc、g++】
GNU工具集中的调试器是GDB(GNU Debugger),该程序是一个交互式工具,工作在字符模式。除gdb外,linux下比较有名的调试器还有xxgdb, ddd, kgdb, ups。原创 2022-09-20 22:04:00 · 2885 阅读 · 0 评论 -
.so文件【Linux下的程序函数库,即编译好的可以供其他程序使用的代码和数据】
so文件是Linux下的程序函数库,即编译好的可以供其他程序使用的代码和数据linux下何谓.so文件:用过windows的同学应该都知道 .dll文件吧, 这二者有什么共通之处呢,其实 .so文件就跟.dll文件差不多一般来说.so文件就是常说的动态链接库, 都是C或C++编译出来的。与Java比较就是:它通常是用的Class文件(字节码)Linux下的.so文件时不能直接运行的,一般来讲,.so文件称为共享库那么.so文件是怎么用的呢?for example:(1) 动态库的编译这里有一个头文件原创 2022-07-01 16:43:02 · 647 阅读 · 0 评论 -
gcc/g++多版本切换
可以发现 /usr/alternatives/gcc 和 /usr/alternatives/g++ 最终链接又回到了 /usr/bin/ 文件目录下的 gcc-7 和 g++-7。作为中转的软链接,/usr/alternatives/gcc 和 /usr/alternatives/g++ 是我们在做gcc/g++版本选择时所需要切换的文件,同时指定版本的。原创 2024-01-06 02:30:51 · 2165 阅读 · 0 评论 -
C/C++:Windows10环境下安装gcc编译器
3、配置环境变量:将地址“C:\***\gcc\gcc_1221\ucrt64\bin”添加到环境变量中。2、将压缩包解压至没有中文目录的地址;4、测试gcc是否安装成功。原创 2022-10-30 16:17:13 · 4579 阅读 · 0 评论 -
C/C++:Windows10环境下安装CMake
待rc的版本是预览版,下载稳定版;安装过程中默认将地址添加到环境变量里。查看CMake是否安装成功。原创 2022-10-30 16:28:33 · 851 阅读 · 0 评论 -
error while loading shared libraries: xx.so: cannot open shared object file: No such file 错误的原因和解决办法
ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表.注:按照前面的说明:运用第一种方法,在执行命令:#echo "/usr/local/lib" >> /etc/ld.so.conf,时提示权限不够,原创 2022-11-16 20:33:54 · 22137 阅读 · 1 评论