精华内容
下载资源
问答
  • C语言多文件编译、连接和运行

    千次阅读 2019-01-30 07:00:35
    C语言多文件编译、连接和运行: 1.编写外部函数对应的头文件: file2.c–>file2.h, file3.c–>file3.h, file4.c–>file4.h, 把这些文件与主程序file1.c放在同一个文件夹下。 file2.h void ...

    C语言多文件编译、连接和运行:
    1.编写外部函数对应的头文件: file2.c–>file2.h, file3.c–>file3.h, file4.c–>file4.h,
    把这些文件与主程序file1.c放在同一个文件夹下。
    file2.h
    void enter_string(char str[]);
    file3.h
    void delete_string(char str[],char ch);
    file4.h
    void print_string(char str[]);
    2.在主程序file1.c首部引入各个头文件:
    #include “file2.h”
    #include “file3.h”
    #include “file4.h”
    3.MinGw编译: gcc file1.c file2.c file3.c file4.c
    4.运行a.exe即可。

    谭浩强老师案例补充:
    有一个字符串,内有若干个字符,现输入一个字符,如果字符串中包含此字符,则把它删去。用外部函数实现。

    主程序file1.c
    #include <stdio.h>
    #include <string.h>

    #include “file2.h”
    #include “file3.h”
    #include “file4.h”

    int main(void){
    extern void enter_string(char str[]); //声明输入函数
    extern void delete_string(char str[],char ch);//声明删除函数
    extern void print_string(char str[]);//声明打印函数

    char c;//准备删除的字符
    char str[80];//定义字符数组
    enter_string(str); //调用输入字符串函数
    printf("输入要删除的字符: ");
    scanf("%c",&c); 
    delete_string(str,c);//调用删除字符函数
    print_string(str); //调用删除函数
    
    return 0;
    

    }

    外部程序 file2.c
    #include <stdio.h>
    void enter_string(char str[]){
    printf("输入字符串: ");
    gets(str);
    }

    外部程序 file3.c
    #include <stdio.h>
    void delete_string(char str[],char ch){
    int i;//循环变量
    int j;//未被删除的字符
    for(i=j=0;str[i]!=’\0’;i++){
    if(str[i]!=ch){
    str[j++]=str[i];
    }
    }
    str[j]=’\0’;
    }

    外部程序 file4.c
    #include <stdio.h>
    void print_string(char str[]){
    printf("%s\n",str);
    }

    展开全文
  • VSCode下C语言多文件编译

    千次阅读 2020-01-26 19:23:10
    VSCode下的C\C++插件对于多文件编译支持相对薄弱,多文件编译的方式是通过修改task.json中的参数来调整的,每次加入文件都需要进行修改task.json,不灵活,在VSCode的插件库中有CMake可以解决多文件编译的问题,下载...

    VSCode下的C\C++插件对于多文件编译支持相对薄弱,多文件编译的方式是通过修改task.json中的参数来调整的,每次加入文件都需要进行修改task.json,不灵活,在VSCode的插件库中有CMake可以解决多文件编译的问题,下载安装CMake插件,需要修改的地方有“首选项”-“Cmake Path”此处应填入cmake.exe的具体位置,在“首选项”-“Generator”,此处应填入“MinGW Makefiles”以匹配你的编译器,配置结束后,需要加入一个CMakeLists.txt文件用于编译,文件如下

    # CMake 最低版本号要求
    
    cmake_minimum_required (VERSION 2.8)
    
    # 项目信息
    
    project (Demo2)
    
    # 查找当前目录下的所有源文件
    
    # 并将名称保存到 DIR_SRCS 变量
    
    aux_source_directory(. DIR_SRCS)
    
    # 指定生成目标
    
    add_executable(Demo ${DIR_SRCS})

    复制文件进入文件夹后,重新启动,将可以自动识别CMakeList.txt,观察下面会出现一个生成,点击便会自动编译,然后再在下面找到一个调试按钮便可以工作了

    展开全文
  • 在一开始接触vscode时,我就被她漂亮的界面吸引,但是实在是难以(调教 ) 配置,一开始配置launch.json和task.json时就花了很大的功夫,此后单文件编程和调试很顺利,但是到了多文件时,似乎出了点问题。...

    在一开始接触vscode时,我就被她漂亮的界面吸引,但是实在是难以(调教 ) 配置,一开始配置launch.json和task.json时就花了很大的功夫,此后单文件编程和调试很顺利,但是到了多文件时,似乎出了点问题。
    首先放一下单文件编程时的launch
    在这里插入图片描述
    很抱歉没有办法直接放上代码,因为直接放上去是一长条神奇的代码,我不知道到底发生了甚么事……
    然后是单文件的task
    在这里插入图片描述

    现在是多文件的launch
    在这里插入图片描述
    在这里插入图片描述
    最后是多文件的task
    在这里插入图片描述
    对了,还有就是在你想要多文件编程的文件夹设置为一个工作区,而单文件编程的设置为另一个工作区,再在相应的文件夹中放入这两个文件,如图:
    在这里插入图片描述

    展开全文
  • 刚开始学习Linux下面的C语言开发,以前只是在Windows下面写过简单C语言的代码,所以对Linux下面的C语言编写不慎了解,这几天看了看相关文章,总算有个一知半解了。 首先打开命终端(Alt+Ctrl+T),用Vim编写三个文件...
    刚开始学习Linux下面的C语言开发,以前只是在Windows下面写过简单C语言的代码,所以对Linux下面的C语言编写不慎了解,这几天看了看相关文章,总算有个一知半解了。
    
    首先打开命终端(Alt+Ctrl+T),用Vim编写三个文件main.c, stack.c, stack.h
    main.c
    #include<stdio.h>
    #include"stack.h"
    
    void main() 
    {
    	int elem;
    	Stack stack;
    	push(&stack, 1);
    	pop(&stack, &elem);
    }
    


    stack.h
    typedef struct Stack {
    	int *base;
    	int top;
    }Stack;
    
    extern void push(Stack *stack, int elem);
    extern void pop(Stack *stack, int *elem);
    


    stack.c
    #include<stdio.h>
    #include"stack.h"
    void push(Stack *stack, int elem)
    {
    	printf("this is push function\n");
    }
    
    void pop(Stack *stack, int *elem)
    {
    	printf("this is pop function\n");
    }
    

    这三个文件都在同一文件夹下面,这时可以使用命令:gcc main.c stack.c stack.h -o mian直接在命令行中编译,但是为了学习使用Makefile 就写了一个文件用于编译
    Makefile文件:
    
    main: main.o stack.o
    	gcc main.o stack.o -o main
    
    main.o: main.c stack.h
    	gcc -c main.c
    
    stack.o: stack.c stack.h
    	gcc -c stack.c
    

    这样直接在终端中运行make就可以进行编译了...
    如果编译的文件不在同一文件夹下面,则在Makefile文件中写明源文件的路径即可...
    展开全文
  • C语言基础:多文件编译

    万次阅读 多人点赞 2018-03-31 07:48:32
     多文件编译,在我们最早编写Hello World程序时我们就将程序写在了一个后缀名为.c的文本文件里,然后通过gcc编译器对其编译并运行。在本节我们将学习如何编写个源文件的程序一、头文件header与源文件source ...
  • C语言文件编译与执行的四个阶段

    千次阅读 2016-07-03 22:49:11
    C语言文件编译与执行的四个阶段并分别描 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译...
  • C语言文件编译到执行的四个阶段

    千次阅读 2016-07-15 13:37:47
    C语言文件编译与执行的四个阶段并分别描述     C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器...
  • C语言文件编译与执行的四个阶段并分别描述

    万次阅读 多人点赞 2016-10-12 21:38:24
    C语言文件编译与执行的四个阶段并分别描述 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为...
  • C语言-GCC编译多个C文件

    千次阅读 2018-02-26 11:24:37
    20180207-GCC编译多个C文件GCC编译多个C文件 下午做了一个小的程序,定义了三个文件:getop.h,getop.c,calcDemo.c 显然getop.h是针对getop.c的,而在calcDemo.c中要调用到getop.c中的东西。 首先给出每个文件的...
  • 菜鸟攻略–C语言文件编程初探(二):使用 gcc 手动编译多文件 C 程序 四年前我发布了一篇菜鸟攻略–C语言文件编程初探(一),没想到这篇文章成了我博客上阅读量最多,评论数也最多的文章。当时我读大二样子,...
  • C语言中的多文件编译

    千次阅读 2010-11-30 11:18:00
    根本原因:代码过于复杂庞大实际好处:将程序有效的模块化具体表现:C语言中一个文件就是一个模块注意事项:多文件编译和符号解析文件符号解析规则对于一个标识符来讲:不允许出现个定义允许个声明和一个定义...
  • C语言-关于多文件编译

    千次阅读 2018-08-31 14:34:58
    #include &lt;stdio.h&gt;//&lt;&gt;...// abc/b.h文件里面定义了一个#define MAX 300 int main() {  int i = MAX;  printf("%d\n",i);//300  system("pause...
  • c语言多个.c文件编译以及操作

    千次阅读 2021-01-13 00:08:56
    个.c文件 头文件 声明 下一篇: 个.c文件 一、why? main()里的代码太长了适合分成几个函数 一个源码文件太长了适合分成几个文件 两个独立的源代码文件不能编译形成可执行的程序 二、如何将个.c...
  • C语言多文件操作

    千次阅读 2018-01-08 19:51:54
    为什么需要多文件项目(1)真正的C语言项目是很复杂的,包含很个函数,写在一个文件中不利于查找、组织、识别。所以人为的将复杂项目中的很函数分成了不同的功能模块,然后分开放在不同的.c文件中,于是乎有了...
  • C语言精髓之编译过程视频教程

    千人学习 2016-01-28 10:48:44
    C语言是一门通用计算机编程语言,应用广泛,是计算机编程的语言,并且中国高校的理工科...2、通过hello world程序讲解C语言编辑、编译、执行过程;3、计算机的组成部分,栈内存的特点;4、画出内存图,引入指针的概念。
  • 一般来说,外部变量是定义在函数外部的变量,也被称作全局变量,它的作用域为从定义处到本源程序文件结束。但是,当我们希望扩展全局变量的作用域时,就可以用到extern关键字,使用该关键字定义变量称做“外部变量...
  • GCC编译c语言文件

    2017-09-14 21:18:19
    引用文章链接:gcc编译过程简述 在Linux下运行C语言程序 在c语言基础中,使用gcc编译c语言过程一般如下: gcc... gcc test1.o test2.o -o test上述命令可以直接将c语言文件编译链接为可执行文件 如果目标文件未指定,默
  • C语言获取执行文件(XXX.exe)文件名和目录路径vc2010编译通过#include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;windows.h&gt; #include&lt;stdlib.h&gt; int main...
  • c语言多文件编程,即main文件调用其他.c文件的方法 原创 天泉证道 最后发布于2018-11-14 14:46:32 阅读数 4047 收藏 展开 c语言多文件编程,即main文件调用其他.c文件的方法。 两种方法的区别就是,gcc编译时,是否...
  • 因为CPU是一个影响编译速度的重要因素,通过以下命令可以利用计算机所有线程来进行编译,命令如下: $ make -j 可以把项目在进行中的并行编译,现在服务器上的CPU差不多...C语言make的线程编译介绍到此结束。 ...
  • c语言用命令行编译运行程序 编译并运行C程序 (Compile and Run C Program) To compile and run a C language program, you need a C compiler. To setup a C language compiler in your Computer/laptop, there are...
  • C语言 多文件程序

    千次阅读 2018-03-09 11:13:43
    在一个单独的目录中编写一个大型程序,行程一个.h和.c文件集,每个.c文件含有一个或个函数定义.按需要重新编译每个.c文件,这样可节省时间. 假设我们正在开发一个pgm的大程序,在每一个.c文件的头部都含有一条 #...
  • C语言读写txt文件编译时出现乱码

    千次阅读 2021-01-24 21:51:31
    文本文件默认的编码形式是utf-8 马赛克部分是中文 将编码形式改成ascii就好了。文件 -> 另存为->
  • C语言之预编译指令

    千次阅读 2016-06-19 23:08:01
    宏在C中预编译指令是很重要的一个部分,所以必须要把它掌握:
  • C语言】浅析编译原理

    千次阅读 多人点赞 2018-05-13 22:40:51
    提到“编译原理”,大部分人的首要反应就是苦恼。确实,编译原理这一部分的内容在计算机学习中是比较难以理解的一部分。首次接触编译原理,我也感觉很复杂,难以理解。但是当看过几次之后,对于一些简单知识点的理解...
  • Linux下C语言程序的编译过程

    千次阅读 2016-04-15 12:00:18
    Linux下C语言程序的编译过程 使用gcc编译程序时,编译工程分为4个阶段: (1)预处理:(Pre-Processing) (2)编译:(Compiling) (3)汇编:(Assembling) (4)链接:(linking) Linux程序员可以根据自己的需要让gcc在...
  • Linux学习之编译运行.c(C语言)文件

    千次阅读 2018-08-23 21:56:21
     分解C语言文件执行过程,要经过预编译编译、汇编、连接四个步骤后才能执行, 预编译:gcc -E hello.c -o hello.i 先将.c文件预编译为.i文件  编译: gcc -S hello.i -o hello.s  汇编:gcc -c hello.s...
  • 一个C语言程序的编译过程

    千次阅读 2018-08-10 11:01:48
    这是一个再简单不过的C语言程序: #include &amp;lt;stdio.h&amp;gt; int main() { printf(&quot;hello world!\n&quot;); return 0; } 执行gcc test.c,就使一个源文件变成了可执行文件,这...
  • 聊聊C语言的预编译指令include

    千次阅读 2016-12-29 15:34:38
    include是干嘛用的,很教材都提到了,因此这里不会再详细解释了,大概意思就是将代码文件需要用到的函数声明、常量等包含到代码文件中。include不是C语言的关键字,而是属于一种预编译的指令,那么预编译又是个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 237,915
精华内容 95,166
关键字:

c语言多文件编译

c语言 订阅