Linux 下编译C程序
GCC 支持了许多不同的语言,包括 C、C++、Ada、Fortran、Objective C,Perl、Python 和 Ruby,甚至还有Java。
Linux 内核和许多其他自由软件以及开放源码应用程序都是用 C 语言编写并使用 GCC 编译的。
编译C++程序:
-c 只编译不连接
g++ file1 -c -o file1.o
g++ file2 -c -o file2.o
g++ file1.o file.o -o exec
g++ -c a.cpp 编译
g++ -o a a.o 生成可执行文件
也可以 g++ -o a a.cpp直接生成可执行文件。
1. 编译单个源文件
为了进行测试,你可以创建“Hello World”程序:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
printf(“Hello world!\n”);
exit(0);
}
使用如下命令编译并测试这个代码:
# gcc -o hello hello.c
# ./hello
Hello wordl!
在默认情况下产生的可执行程序名为a.out,但你通常可以通过 gcc 的“-o”选项来指定自己的可执行程序名称。
2. 编译多个源文件
源文件message.c包含一个简单的消息打印函数:
#include <stdio.h>
void goodbye_world(void)
{
printf(“Goodbye, world!\n”);
}
使用gcc的“-c”标记来编译支持库代码:
# gcc -c message.c
这一过程的输出结果是一个名为message.o的文件,它包含适合连接到一个较大程序的已编译目标代码。
创建一个简单的示例程序,它包含一个调用goodbye_world的main函数
#include <stdlib.h>
void goodbye_world(void):
int main(int argc, char **argv)
{
goodbye_world();
exit(0);
}
使用GCC编译这个程序:
# gcc -c main.c
现在有了两个目标文件: message.o 和 main.o 。它们包含能够被 Linux 执行的目标代码。要从这个目标代码创建Linux可执行程序,需要再一次调用 GCC 来执行连接阶段的工作:
# gcc -o goodbye message.o main.o
运行编译结果:
# ./goodbye
Goodbye, world!
前面这些单独的步骤也可以简化为一个命令,这是因为 GCC 对如何将多个源文件编译为
相关文档:
烧写2410-S linux 操作系统:
在windows xp下进行,需要的文件在光盘中的img目录和flashvivi目录下提供。
烧写2410-S linux 操作系统包括烧写vivi,kernel,root三个步骤,除此我们还要烧写yaffs.tar,这四个文件在img目录中。
vivi ----linux操作系统启动的bootloader;
zImage----linu ......
在找GTK的开发文档,发现在 /usr/share/doc/libgtk2.0-doc/里有个 tutorial的目录,里边有个gtk-tutorial.devhelp的文件,于是试试有没有devhelp这个工具,原来真的有,而且已经安装过了!
于是用它来打开这个开发文档,非常好用。而且里边还有其他库的帮助文档呢! ......
通过编辑linux的/etc/bash.bashrc文件来快速定位各个目录
alias mysqlw="mysql -uroot -p123456"
alias usr="cd /usr/local"
alias src="cd /usr/src"
alias sphinx="cd /usr/local/sphinx"
alias apahce="cd /usr/local/apache"
alias home="cd /home/data/dev_test_com"
alias php="/usr/local/php5/bin/php" ......
一、概要
详细介绍:http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index1.html
信号是UNIX和Linux系统响应结条件而产生的一个事件。接收到信号的进程会相应地采取一些行动。
(1) 在系统 ......
这两天学习C++学累了,看了很多的网站论坛,突然感觉迷茫了,c/c++到底能做什么呢?现在JAVA很热,也很好找工作,而且学起来还听说很容易入门。不用学计算机基础类的知识,可C/C++就不同了,只学编程还不行,还得学什么数据结构,算法,计算机原理,操作系统,汇编语言,编程用具等等,需要好多,感觉一 ......