1 编写c源程序,可以用vim,甚至是记事本,假设是helloc
#include <stdioh>
int main(void)
{
printf("Hello world!\n");
return 0;
}
2 假设helloc所在目录是你的家目录
3 命令行下:
cd ~
gcc helloc -o hello -Wall
4 运行命令
/hello
linux/moduleh是内核模块相关的头文件,如果不在默认位置(/usr/src//include),就需要用-L选项指定。一般情况下,安装内核开发包就可以解决(提示了找不到头文件,说明默认位置是没有moduleh的,“提示”的用处不就是告诉你该怎么解决吗),不同发行版相应的软件包名称不尽相同,一般带有kernel、header或devel等字样(我的发行版上是linux-headers-[version])。
不怕麻烦的话呢,可以调整#include结构来让各c文件相连。。
建议呢,把类型与函数的声明整理到特定的h文件中,然后用#ifndef来使其只被包含一次,然后,在用到其它文件中实现的函数的时候将相应的h文件include进来就好。这样呢,编译的时候可以单个文件逐一编译:
gcc -c mainc -o maino
gcc -c delc -o delo
gcc -c insertc -o inserto
参数-c意思是只编译不连接,-o是名命输出文件。
全部编译成o文件无误后,再将所有的o文件相连:
gcc maino delo inserto -o prog
就可以生成prog了。
然后举个例子说明处理h文件:
比如这个createc。里面定义了一个struct和一个函数。那么就可以写createh如下:
#ifndef __CREATE_H__
#define __CREATE_H__
struct student
{
long num ;
float score;
struct student next;
};
struct student creat(void);
#endif
然后呢,因为student这个struct在这个h文件里已经声明了,所以createc里只要写#include "createh",而在用到这个struct或者这个函数的场合,也只要这样简单一句就可以了。而h文件开头的#ifndef可以保证同一个h文件不会被多次包含。当然,如果编译器支持的话,用#pragma once也许会比#ifndef更省事一些。
以上。
以上就是关于在cygwin下用gcc编译一个程序的详细步骤,求详解全部的内容,包括:在cygwin下用gcc编译一个程序的详细步骤,求详解、我在linux下写了个程序,怎么用gcc编译、gcc 编译c的多文件程序问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)