在cygwin下用gcc编译一个程序的详细步骤,求详解

在cygwin下用gcc编译一个程序的详细步骤,求详解,第1张

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的多文件程序问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10134724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存