精华内容
下载资源
问答
  • 本篇文章给大家介绍一下vscode配置C语言编译环境的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。vscode c语言的环境配置完整教程请查看该教程:...

    本篇文章给大家介绍一下vscode配置C语言编译环境的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

    aeae5da043fe65ab670d1fbeaae7e938.png

    vscode c语言的环境配置

    完整教程请查看该教程:https://blog.csdn.net/qq_43041976/article/details/100542557

    使用MinGW-W64 GCC-8.1.0编译器默认安装目录的配置文件

    MinGW-W64 GCC下载地址:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe

    离线下载地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/

    launch.json{

    "version": "0.2.0",

    "configurations": [

    {

    "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示

    "type": "cppdbg", // 配置类型,这里只能为cppdbg

    "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)

    "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径

    "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可

    "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false

    "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录 workspaceRoot已被弃用,现改为workspaceFolder

    "environment": [],

    "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台

    "MIMode": "gdb",

    "miDebuggerPath": "C:/Program Files (x86)/mingw64/bin/gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应

    "preLaunchTask": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc

    "setupCommands": [

    {

    "description": "Enable pretty-printing for gdb",

    "text": "-enable-pretty-printing",

    "ignoreFailures": false

    }

    ]

    }

    ]}

    tasks.json{

    "version": "2.0.0",

    "command": "gcc",

    "args": [

    "-g",

    "${file}",

    "-o",

    "${fileBasenameNoExtension}.exe"

    ]}

    更多编程相关知识,请访问:编程视频!!

    展开全文
  • window系统sublime3+MinGW配置C语言编译环境出现中文乱码解决方法 window系统sublime3+MinGW配置C语言编译环境出现中文乱码一般是因为控制台、cpp编码与你的源文件编码格式不符,我们需要设置参数 把你的.sublime-...
  • C语言编译流程

    2017-10-24 15:14:56
    编译流程图示我们在Linux环境下编译单个C文件时,最简单的方法是输入一条命令gcc hello.c就可以生成默认的可执行文件a.out,展开该命令可以看到实际流程如下。 (编译命令参数请看 link )预处理阶段 -&...

    1、编译流程图示

    我们在Linux环境下编译单个C文件时,最简单的方法是输入一条命令gcc hello.c就可以生成默认的可执行文件a.out,展开该命令可以看到实际流程如下。
    (编译命令参数请看 gcc使用手册

    这里写图片描述

    预处理阶段 -> 编译阶段 -> 汇编阶段 -> 链接阶段

    2、编译各阶段命令

    • 预处理阶段
    • 编译阶段
    • 汇编阶段
    • 链接阶段

    2-1预处理阶段

    把.c文件预处理命令替换为对应的头文件内容,并合并成.i文件中。(有兴趣可以用命令cat hello.i 查看一下)

    gcc -E -o hello.i hello.c
    

    预处理阶段主要处理下面四件事:

    • 将头文件内容包含进.c源文件中;
    • 删除注释;
    • 宏替换;
    • 条件编译;

    2-2 编译阶段

    把源文件编译成汇编语言,并生成.s文件。(有兴趣可以用命令cat hello.s 查看一下)

    gcc -S -o hello.s hello.i
    // or
    gcc -S -o hello.s hello.c
    

    2-3 汇编阶段

    把源文件汇编成机器语言,并生成.o目标文件。(有兴趣可以用命令cat hello.o 查看一下)

    gcc -o hello.o -c hello.s
    // or
    gcc -o hello.o -c hello.i
    gcc -o hello.o -c hello.c
    

    2-4 链接阶段

    把源文件链接成可执行文件(Linux下的文件名后缀是随便可取的,只是文件里的内容格式不变而已)。(有兴趣可以用命令objdump -d hello 查看一下汇编代码)

    gcc -o hello hello.o
    // or
    gcc -o hello hello.s
    gcc -o hello hello.i
    gcc -o hello hello.c
    gcc hello.c
    

    3、例子

    wu_being@UbuntuKylin1704:~/Code/C/test_cpp$ 
    wu_being@UbuntuKylin1704:~/Code/C/test_cpp$ ls
    mymathfun.c  mymath.h  mymath_test.c
    wu_being@UbuntuKylin1704:~/Code/C/test_cpp$ cat -n mymath_test.c 
         1	#include <stdio.h>
         2	#include "mymath.h"
         3	
         4	int main()
         5	{
         6		printf("My Pi: %lf\n", my_pi());
         7		return 0;
         8	}
         9	
    wu_being@UbuntuKylin1704:~/Code/C/test_cpp$ gcc mymath_test.c 
    /tmp/ccRCzDfw.o:在函数‘main’中:
    mymath_test.c:(.text+0x5):对‘my_pi’未定义的引用
    collect2: error: ld returned 1 exit status
    wu_being@UbuntuKylin1704:~/Code/C/test_cpp$ gcc mymath_test.c mymathfun.c 
    wu_being@UbuntuKylin1704:~/Code/C/test_cpp$ ./a.out 
    My Pi: 3.141593
    wu_being@UbuntuKylin1704:~/Code/C/test_cpp$ 
    wu_being@UbuntuKylin1704:~/Code/C/test_cpp$ vim mymath_test.c 
    wu_being@UbuntuKylin1704:~/Code/C/test_cpp$ cat -n mymath_test.c 
         1	#include <stdio.h>
         2	#include "mymath.h"
         3	#include "mymathfun.c"
         4	
         5	int main()
         6	{
         7		printf("My Pi: %lf\n", my_pi());
         8		return 0;
         9	}
        10	
    wu_being@UbuntuKylin1704:~/Code/C/test_cpp$ gcc mymath_test.c 
    wu_being@UbuntuKylin1704:~/Code/C/test_cpp$ ./a.out 
    My Pi: 3.141593
    wu_being@UbuntuKylin1704:~/Code/C/test_cpp$ gcc mymath_test.c mymathfun.c 
    /tmp/ccMnE10S.o:在函数‘my_pi’中:
    mymathfun.c:(.text+0x0): `my_pi'被多次定义
    /tmp/cc89I2rk.o:mymath_test.c:(.text+0x0):第一次在此定义
    collect2: error: ld returned 1 exit status
    wu_being@UbuntuKylin1704:~/Code/C/test_cpp$ 
    
    

    Wu_Being博客声明:本人博客欢迎转载,请标明博客原文和原链接!谢谢!
    《C语言编译流程》: http://blog.csdn.net/u014134180/article/details/78329908

    展开全文
  • VScode配置C语言编译环境

    千次阅读 2020-04-27 15:50:26
    VScode配置C语言编译环境 前言 最近学校开了c语言课,使用vc6.0来编写c语言,但vc6.0太旧,没有代码补全和代码检查功能,所以我花了很长时间配置vscode的c开发环境,由于第一次配置,花了很长时间.下面是配置步骤,...

    VScode配置C语言编译环境

    前言

    最近学校开了c语言课,使用vc6.0来编写c语言,但vc6.0太旧,没有代码补全和代码检查功能,所以我花了很长时间配置vscode的c开发环境,由于第一次配置,花了很长时间.下面是配置步骤,按照我正确的方法可以少走弯路,去除百度云下载时间,10分钟应该是充足的.,另外配置好mingw,也可以选择使用jetbrains的Clion

    下载安装C编译器Mingw

    方法一:下载官网 http://www.mingw.org/,选择下载,安装并配置(不推荐,会遇到网络问题和可能会出现闪退问题,我花了很长时间在这上面)

    方法二:Mingw在安装的时候并没有并没有配置c盘注册表,只有安装路径中有它的文件,其他地方没有任何改变,所以可以直接别人将安装好的mingw复制粘贴使用,mingw在配置过程可以下载很多包,我把基础包都下载过来,但并没有下载全部包.下面是链接

    链接:https://pan.baidu.com/s/1Mhd0xyFelQKVIdRKQP_84w
    提取码:wq7z

    在这里插入图片描述我的mingw安装的包

    在这里插入图片描述mingw的文件不小,解压前180m,解压后占用空间614m,如果c盘空间不足,将其解压到d盘也是没问题的,上面mingw页面大家不需要进入,这只是展示我的mingw安装的包,如果想进入,找到mingw里bin目录下的mingw-get文件打开即可.

    配置环境变量

    mingw配置环境变量还是相对比较简单,将mingw目录下的bin目录添加到path即可.

    在这里插入图片描述注意要添加自己的目录,不要直接使用我图片上的目录!!!

    检测命令 gcc -v

    在这里插入图片描述

    下载安装vscode

    建议官网直接下载https://code.visualstudio.com/,如果觉得速度有点慢,可尝试复制下载链接,在迅雷中下载.

    配置vscode

    点击vscode左侧最后一个图标,搜索c,找到官方插件,安装

    在这里插入图片描述

    在这里插入图片描述

    另外大家可以下载安装语言插件,搜索Chinese即可找到,安装后重启,就会变为中文

    在这里插入图片描述

    后续

    新建文件夹,vscode似乎不支持创建文件夹,需要先在文件管理器里创建文件夹,之后选择文件,打开文件夹.

    运行c语言程序,右击文件夹或文件夹内文件,选择在终端中打开(open in terminal)

    编写完成后,一定要保存文件!!!,不然编译会报错,可以在设置里设置自动保存

    输入编译指令,假设文件名是test.c,则指令为 gcc -s test.c -o test.exe(文件名可以输入前几个字母,按tab,就会自动补全,如果补全的是另一个文件,继续按tab),不同文件输入更换不同文件名即可 -o表示生成二进制可执行文件的名字.,gcc -s是省去了预处理编译等过程,直接得到二进制可执行文件

    在这里插入图片描述

    执行编译后的文件只需要在终端输入文件名即可,同样可以只输入前几个字母,按tab补全,不过补全的一般不是该二进制可执行文件,而是c语言源代码文件,只要再按tab即可执行

    展开全文
  • C语言编译步骤

    2017-03-25 11:15:49
    C语言从代码变成可执行程序的步骤: 预处理 -----> 编译 -----> 汇编 -----> 链接 ⒈预处理:去掉注释,加载头文件,代替宏定义,条件编译 ...⒉编译:使用编译器进行C语言的语法检查

    C语言从代码变成可执行程序的步骤:

    预处理 -----> 编译 -----> 汇编 -----> 链接

    ⒈预处理:去掉注释,加载头文件,代替宏定义,条件编译

    需要文件:.c文件

    生成产物:预处理文件(以.i结尾)

    使用方法:gcc hello.c -E -o hello.i

    可以使用vim打开预处理文件来查看生成产物

    ⒉编译:使用编译器进行C语言的语法检查,如果有语法错误,报错,并结束编译过程;如果没有语法错误,把C的源程序转变为汇编代码;

    需要文件:.i文件

    生成产物:汇编文件(以.s结尾)

    使用方法:gcc hello.i -S -o hello.s

    可以使用vim打开汇编文件来查看生成产物

    ⒊汇编:把汇编源文件通过汇编器生成目标文件(二进制机器语言)

    需要文件:.s文件

    生成产物:机器码(或称为“目标代码”,以.o结尾)

    使用方法:gcc hello.s -c -o hello.o

    可以使用vim打开目标代码文件来查看生成产物(不过只会看到乱码)

    ⒋链接:把目标文件执行所依赖的所有二进制的其他目标文件及C的库文件都整合成一个可执行文件的过程;

    需要文件:.o文件及各种动态库或静态库

    生成产物:可执行程序

    使用方法:gcc hello.o -o hello

    -o:指定生成的产物的名字

    -Wall:让编译器报告全部错误

    我们要养成良好习惯,在编译过程中添加-o指定生成产物名称,添加-Wall报告所有的errorwarning方便我们调试程序。完整的编译指令如下:

    gcc hello.c -o hello -Wall

     

    编译完成后(无error,无warning),会生成-o之后的文件(如没有加-o则会生成a.out文件)

    执行文件:

    ./hello./a.out

    1#define 在预处理阶段

       typedef 在编译阶段

    2、和shell编程一样

    C语言的main(int argc, const char *argv[])中两个参数分别代表命令行参数个数,和存放参数的指针常量数组


    展开全文
  • c语言编译时出现的错误分析和基本的解决方法
  • 编译程序发现程序中某个地方有疑问,可能有问题时就会给出一个警告信息。警告信息可能意味着程序中隐含的大错误,也可能确实没有问题。对于警告的正确处理方式应该是:尽可能地消除之。对于编译程序给出的每个警告...
  • 编译C语言多线程程序的时候,如果出现 undefined reference to 'pthread_create' 错误 在编译中要加 -lpthread参数 g++ thread.c -o thread -lpthread 或 gcc thread.c -o thread -lpthread 特此备忘 本文转自...
  • Ubuntu支持C语言编译运行和make命令最简单的方法背景一键安装 背景 小白我自学Ubuntu一段时间,主要学习linux,用Python做一些小项目。昨天领导给了一个小活,让验证一下第三方给的.o好不好用,小白我一看这不是...
  • Notepad++配置C语言编译环境

    千次阅读 2019-06-17 23:41:44
    今天和大家分享一个使用Notepad++配置C语言编译环境的方法,因为本人是一个C语言新手,一般写个小程序用文本编辑器就够用。 前提: 下载mingw 或者 Cygwin 或 tdm-gcc 里面有C语言编译器,然后配置环境变量。 ...
  • 在centOS7内安装Redis 需要有C语言编译环境,安装方法如下: 先看有无安装,查看gcc 版本 gcc --version 提示如下,证明没安装: 安装过程如下 在联网状态下,输入如下命令 yum install gcc 回车确认,等待安装...
  • 目录1 环境说明2 gcc编译步骤2.1 编辑2.2 预处理2.3 编译2.4 汇编处理2.5 链接3 一步到位的方法 1 环境说明 系统:Windows 编译器:gcc 命令行工具:cmder (用系统自带的命令行工具也可以) 2 gcc编译步骤 # ...
  • 关于C语言编译的问题

    2017-12-07 15:43:01
    最近编译一个C程序A时报错 /home/cpicsrv/lib/libic.a(insclmpreacct.o)(.text+0x8e4): In function `insclmpreacct': ...在编译C程序A时,调用到部分方法中存在未编译的部分。 根据报错可以确定 在编译
  • 摘要I I 相比于其他自然科学计算机科学算是较新的科学体系还有很多技术领域有待学者进一步探索编译技术是系统软件的设计学科作为计算机技术发展的基石学习编译器设计的目的不仅在于其本身的理论和技术其解决问题的...
  • VS2015编译C语言出现 MSB4036 未找到“SetEnvironmentVariable”任务。 错误 详情见我的博客:https://blog.csdn.net/u014411348/article/details/103487246
  • 类似下面这样的错误: (.text+0x13): undefined reference to `func' 关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。...
  • 无警告C语言编译断言

    2015-09-10 15:11:39
    方法一: #ifndef STATIC_ASSERT #define STATIC_ASSERT(exp) ((void)sizeof(struct{int:-!(exp);})) #endif 方法二: #ifndef STATIC_ASSERT #define STATIC_ASSERT(exp) ((void)sizeof(char[(exp)?1:-1])) #...
  • 同事小张是学软件出身,今天在...这时就用到了VS2015,查看反汇编的方法如下: 1、编写一个while(1)程序 2、运行程序 3、点这里! (目前看来不运行程序是看不到汇编代码的,如果谁有更好的方法,希望教教我!)
  • Qt Creator调用C语言编译的.So动态库

    千次阅读 2016-03-23 10:40:08
    帮别人做个项目,有个传感器必须用到卖家提供的动态库。动态库是libS8.so,... 没办法,我只能自食其力了,上度娘找找~资料倒是挺多的,在Qt Creator中调用C语言编译的动态库文件却很少。好歹找到了个方法,说是必
  • 编译时出现乱码, 按住WIN+R 输入CMD 弹出CMD ... 右键属性 然后查看当前机器用的编码格式 ...方法二: 在main 函数上方加入代码 #pragma execution_character_set("gbk") 强制使用当前主机的GBK(编码格式) ...
  • win 10 vs code 搭建C语言编译运行环境 1. 官方的方法 官方教程链接Using GCC with MinGW 这里对方法的简单总结如下: 安装MinGW,并配置环境变量(百度就有) 安装vs code(同样是百度就有) 安装汉化插件(为了方便...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,223
精华内容 1,689
关键字:

c语言编译方法

c语言 订阅