
gcc
文章平均质量分 96
源代码杀手
大厂算法工程师经验、高校教师。
互相学习,共同进步!想做项目,私聊需求。
展开
-
ubuntu下实现make编译g++(C++)和gcc(标准C)程序调用
1、gcc: 标准C编译环境如果你构建的是gcc的.c源程序文件,只需建立一个makefile,并且该文件的内容为:gcc: clang -std=c11 function.c main.c -o gcc_test其中function.c 为调用的函数,main.c为执行结果的主函数,你可以按照自己的要求修改对应的文件名,不一定是function.c main.c。最后在该源文件下打开终端输入命令:make //即可编译编译的结果是一个无后缀的文件名:gcc_test,然后只需再原创 2020-09-11 15:16:33 · 686 阅读 · 0 评论 -
完美解析C/C++条件预处理编译:#define、#if 、#ifdef、#elif、#endif
一、预处理的条件编译预处理主要有三个方面的内容: 1.宏定义; 2.文件包含; 3.条件编译。 预处理命令以符号“#”开头。二、常用指令# 空指令,无任何效果#define 定义宏#undef 取消已定义的宏#if 如果给定条件为真,则编译下面代码#ifdef 如果宏已经定义,则编译下面代码#ifndef 如果宏没有定义,则编译下面代码#elif 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 #elif预处理指令转载 2020-08-27 14:43:50 · 5464 阅读 · 0 评论 -
完美汇总在Ubuntu下gdb调试的方法和编译技巧(包括gcc和g++编译环境)
(学习本文的目的是基于Ubuntu的vs code或其他编译环境配置麻烦采用的直接在终端实现的方法)目录一、gdb简介二、gdb使用流程1、启动gdb2、查看源码3、运行程序4、设置断点5、单步执行6、查看变量7、退出gdb三、gdb基本使用命令1、运行命令2、设置断点3、查看源码4、打印表达式5、查看运行信息6、分割窗口7、cgdb强大工具四、总结一、gdb简介GDB是一个由GNU开源组织转载 2020-08-26 22:14:35 · 2816 阅读 · 0 评论 -
ubuntu20.04/16.04下C++的通用Makefile模板解析
一、解析Makefile本文给出万能Makefile的具体实现,以及对其中的关键点进行解析。号称万能Makefile,一统江湖。我对原版的Makefile做了些修改。首先揭开它的庐山真面目:##################################################### Generic makefile - 万能Makefile# for compiling and linking C++ projects on Linux # Author: George Foot原创 2020-08-21 10:59:40 · 648 阅读 · 0 评论 -
C++ 数据类型
https://www.runoob.com/cplusplus/cpp-data-types.html转载 2020-08-20 20:07:29 · 189 阅读 · 0 评论 -
C++ 关键字汇总(避免作为变量名使用)
asmasm (指令字符串):允许在 C++ 程序中嵌入汇编代码。autoauto(自动,automatic)是存储类型标识符,表明变量"自动"具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为auto存储类型。boolbool(布尔)类型,C++ 中的基本数据结构,其值可选为 true(真)或者 false(假)。C++ 中的 bool 类型可以和 int 混用,具体来说就是 0 代表 false,非 0 代表 true。bool 类型常用于条件判断和函数返回值。.原创 2020-08-20 19:51:36 · 1265 阅读 · 0 评论 -
C++结构体可放在函数内部和外部
定义的结构体测试源码:结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。声明一个结构体类型的形式是:struct Student{ //声明一个结构体类型Student int num; //声明一个整形变量num char name[20]; //声明一个字符型数组name char sex; //声明一个字符型变量sex int age; //声明一个整形变量age float原创 2020-08-20 18:11:19 · 4861 阅读 · 0 评论 -
完美解决vs code 控制台显示出现中文乱码的问题
1、如果想在控制端显示执行结果,请修改launch.json文件里的"externalConsole": false, 只需将false改为true即可launch.json内容:{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configuration原创 2020-08-20 17:59:58 · 3062 阅读 · 7 评论 -
完美解决Ubuntu下无法获得锁 / 检测到系统程序错误 / E: Could not get lock /var/lib/apt/lists/lock
最近遇到了如下的问题:1、E: Could not get lock /var/lib/apt/lists/lock - open (11: Recource temporarily unavailable)首先针对:E: Could not get lock /var/lib/apt/lists/lock - open (11: Recource temporarily unavailable)查找资料,找到如下解决方案:sudo rm /var/cache/apt/archives/lock原创 2020-08-20 17:24:42 · 2479 阅读 · 0 评论 -
完美解决在Windows下Vs Code编译不同C函数之间的调用问题
首先给出下列头文件.h和.c文件,请自行创建下面的文件后将源码内容导入:1、头文件的内容function.h//#ifndef __FUNCTION_H__//#define __FUNCTION_H__ int fun(int,int); int times(int,int);//#endif2、构造的function.c函数#include "function.h"int fun(int a,int b){ return a+b;}int times(int a,原创 2020-08-12 00:46:46 · 1696 阅读 · 0 评论 -
完美解决Ubuntu16.04下配置vs code编译环境
Vs Code环境配置引用文献1 安装c/c++插件首先通过左边栏的Extension栏目安装C++插件,操作如下图:2 建立工程由于VScode是以文件夹的形式管理工程的,因此我们首先新建一个文件夹,我这里取名叫hello。然后通过VScode打开此文件夹:新建main.cpp文件并输入程序:#include <iostream>using namespace std;int main(){ cout << "编程语言:Helloworld 2转载 2020-08-11 23:58:06 · 3539 阅读 · 0 评论 -
Ubuntu16.04编译环境下将ASN.1转成C程序下的.c和.h源文件和结构体
1、编译环境实验平台:ubuntu16.042、ASN.1介绍ASN.1是定义抽象数据类型规格形式的标准。是用于描述数据的表示、编码、传输、解码的灵活的记法。它提供了一套正式、无歧义和精确的规则,以描述独立于特定计算机硬件的对象结构。ASN.1是通信协议中描述数据传输的正式标记(notation),它与语言实现和物理表示无关,与应用的复杂度无关。ASN.1特别适合表示现代通信应用中那些复杂的、变化的及可扩展的数据结构。ASN.1发送任何形式(音频、视频、数据等等)的信息都必须用数字传送。ASN.1转载 2020-08-11 23:14:29 · 1206 阅读 · 2 评论 -
Visual Studio 2019恢复默认界面
visual studio 恢复默认界面方法/步骤:打开visual studio2019在工具栏找到窗口,点击重置窗口布局,即可恢复默认的窗口设置原创 2020-08-11 19:32:09 · 19394 阅读 · 1 评论 -
C语言编译成功后生成后缀名为.o文件是什么文件?
百度答客1:是编译成bai功后的文件,以hello.c为例:先将源文件编du译成目标zhi文件:gcc - c hello.c。生成hello.o文件,dao再将目标文件编译成可执行文件:gcc -o hello hello.o这样就生成了可执行文件,在./hello就可以运行hello了。百度答客2:后缀名.o 就是object, 也就相当于windows下编译的obj文件, 俗称目标文件,该文件是指源代码经过编译程序产生的且能被cpu直接识别二进制代码。由编译器生成,具体的生成方法在不同的开发原创 2020-08-11 14:53:07 · 34352 阅读 · 6 评论 -
解决Visual Studio同一个项目工程下不同C语言程序之间互相调用的问题
定义一个function.h文件来声明这些函数://#ifndef __FUNCTION_H__//#define __FUNCTION_H__ int fun(int,int); int times(int,int);//#endif接下来,在同一个function.c文件中自定义这两个函数:#include "function.h"int fun(int a,int b){ return a+b;}int times(int a,int b){ return原创 2020-08-11 14:39:34 · 3369 阅读 · 0 评论 -
C语言结构体完整解析(二):enum与typedef enum的用法
C语言结构体完整解析(一)案例:#include<stdio.h>struct Student /*学生结构*/{ char cName[20]; /*姓名*/ char cSex; /*性别*/ int iGrade; /*年级*/} student1={"HanXue",'W',2};/*定义变量并设置初始值*/int main(){ struct Student student2={"zhanglili",'M',3}; /*定义变量并设置初始值*/原创 2020-08-11 13:51:42 · 2426 阅读 · 0 评论 -
C语言结构体完整解析(一)
例如:#include<stdio.h>struct Product /*声明结构*/{ char cName[10]; /*产品的名称*/ char cShape[20]; /*形状*/ char cColor[10]; /*颜色*/ int iPrice; /*价格*/ char cArea[20]; /*产地*/};int main(){ struct Product product1; /*定义结构体变量*/ printf("please...原创 2020-08-11 11:36:11 · 770 阅读 · 0 评论 -
解决VS CODE运行C程序闪退的问题
在使用VS Code编写一段C程序代码时,代码没有语法问题,按F5进行调试可以启动运行,当输入值后,按下enter键就出现闪退的情况。下面解决这个问题:system("pause"); //以便在退出程序前调用系统的暂停命令暂停命令行在return前一行加上 system(“pause”); 即可,使其在退出程序前调用系统的暂停命令暂停命令行,如果不加的话程序运行就会立即退出。案例:#include<stdio.h>struct Student /*学生结构*/{ ch原创 2020-08-09 22:57:10 · 7347 阅读 · 3 评论 -
VS CODE编译器C程序报错解决办法:Unable to perform this action because the process is running
将下面的false改成ture再运行你的程序即可: "externalConsole": false,原创 2020-08-09 22:40:23 · 13621 阅读 · 4 评论 -
C语言各个Package的作用汇总
MinGW—- MinGW Base System——– MinGW Compiler Suit———— mingw32-binutils 必选,用于编译生成的 .o 文件的链接、汇编、生成静态库等。———— mingw32-gcc 必选,核心的 C 编译器。———— mingw32-gcc-ada 可选,Ada 编译器。———— mingw32-gcc-fortran 可选,Fortran 编译器。———— mingw32-gcc-g++ 建议,C++ 编译器。———— mingw32-g原创 2020-08-09 22:08:35 · 1366 阅读 · 0 评论 -
解决:无法将“Add-Migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次
解决:无法将“Add-Migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次1、输入的中划线“-”格式不对,检查是否为全角状态下输入,误输入了下划线“_",或是前后有空格;2、没有引用EntityFramework命令,请执行如下名称(Import-Module 项目路径\packages\EntityFramework.6.1.3(EF版本)\tools\EntityFramework.psd1)另外需要注意的是,执原创 2020-08-09 21:57:38 · 3276 阅读 · 0 评论 -
完美解决C语言gcc编译器不能读取小数数据TXT文件的问题
在c文件目录下准备好一个write_ata2020.txt,内容如下:0.841471 0.909297 0.14112 -0.756802 -0.958924 -0.279415 0.656987 0.989358 0.412118 -0.544021 -0.99999 -0.536573 0.420167 0.990607 0.650288 -0.287903 -0.961397 -0.750987 0.149877 0.912945 C程序为:#incl原创 2020-07-31 18:58:04 · 879 阅读 · 0 评论 -
完美解决ubuntu2020.04的gcc编译环境下出现报错:undefined reference to `sin‘的问题
三角函数符号引入报错问题解决:解决方法:在后面加“-lm”gcc write.c -o write -lm原创 2020-07-31 16:38:18 · 2860 阅读 · 0 评论 -
如何在ubuntu20.04系统中用gcc编译运行一个C程序?
1、确定安装了gcc编译器后,接下来用vim编辑一demo2020.c文件。sudo vim demo2020.c2、在上面弹出的文件中写入一维数组的遍历内容。3、写好c文件后,用ls命令查看该文件是否存在。4、确定c文件存在后,使用命令gcc c文件名 -o 生成的可执行文件名(例:gcc demo2020.c -o demo2020)。输入编译命令后,如果没显示什么信息,就意味编译成功了。5、编译成功后,再用ls命令查看一下可执行文件是否有生成。6、最后再运行一下可执行文件,可以看到,正原创 2020-07-31 16:25:47 · 3607 阅读 · 0 评论 -
C程序%x转换说明
C程序%x转换含义:%A 浮点数、十六进dao制数字和p-记法(C99)%c 一个字符%d 有符号十进制整数%e 浮点数、e-记数法%E 浮点数、E-记数法%f 浮点数、十进制记数法%g 根据数值不同自动选择%f或%e.%G 根据数值不同自动选择%f或%e.%i 有符号十进制数(与%d相同)%o 无符号八进制整数%p 指针%s 字符串%u 无符号十进制整数%x 使用十六进制数字0f的无符号十六进制整数%X 使用十六进制数字0f的无符号十六进制整数%% 打印一个百分号 使用pr原创 2020-07-31 15:22:57 · 973 阅读 · 0 评论