易截截图软件、单文件、免安装、纯绿色、仅160KB

LINUX下进行C语言编程

源程序编译  

Makefile的编写  

程序库的链接  

程序的调试  

头文件和系统求助  


1.源程序的编译  

在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器.   下面我们以一个实例来说明如何使用gcc编译器.  

假设我们有下面一个非常简单的源程序(hello.c):  


int   main(int   argc,char   **argv)
{
printf( " "Hello   Linux   " ");
}
 

要编译这个程序,我们只要在命令行下执行:  

gcc   -o   hello   hello.c  

gcc   编译器就会为我们生成一个hello的可执行文件.执行./hello就可以看到程序的输出结果了.命令行中  
gcc表示我们是用gcc来编译我们的源程序,-o   选项表示我们要求编译器给我们输出的可执行文件名为hello  
而hello.c是我们的源程序文件.  

gcc编译器有许多选项,一般来说我们只要知道其中的几个就够了.  
-o选项我们已经知道了,表示我们要求输出的可执行文件名.   -c选项表示我们只要求编译器输出目标代码,而不必要输出可执行文件.  
-g选项表示我们要求编译器在编译的时候提供我们以后对程序进行调试的信息.  

知道了这三个选项,我们就可以编译我们自己所写的简单的源程序了,如果你想要知道更多的选项,可以查看gcc的帮助文档,那里有着许多对其它选项的详细说明.  

2.Makefile的编写  

假设我们有下面这样的一个程序,源代码如下:  


/*   main.c   */
#include   " "mytool1.h " "
#include   " "mytool2.h " "
int   main(int   argc,char   **argv)
{
mytool1_print( " "hello " ");
mytool2_print( " "hello " ");
}
/*   mytool1.h   */
#ifndef   _MYTOOL_1_H
#define   _MYTOOL_1_H
void   mytool1_print(char   *print_str);
#endif
/*   mytool1.c   */
#include   " "mytool1.h " "
void   mytool1_pr


相关文档:

LINUX修改ROOT密码方法 黄闽玉

>1.      机器启动后,在到蓝色屏幕的界面的时候,按上下键选择。
>2.      在选择的时候选择后面带有ELSMP的这一行,按E键,千万不要按回车
>3.      然后在选择带有kernel开头的这一行,按E键,不要按回车。
>4. &n ......

linux安装mysql

1、安装包
下载网址:http://dev.mysql.com/downloads/mysql/
mysql-5.1.38.tar.gz(版本:5.1.38)
2、添加mysql用户与群
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
3、解压与编译
tar zxvf mysql-5.1.38.tar.gz
cd mysql-5.1.38/
./configure --prefix=/usr/local/mysql/ --enable-assembler --w ......

Linux中Bash环境变量的设定顺序

和Bash的环境设定有关的文件有
/etc/profile (主要)
$HOME/.bash_profile (主要)
$HOME/.bash_login
$HOME/.profile
$HOME/.bash_logout (主要)
$HOME/.bashrc (主要)
/etc/bashrc
说明如下:
登入(login)时
先执行 /etc/profile
接着bash会检查使用者的自家目录中,是否有 .bash_profile 或者 .bash_login或者 ......

dm642 c运行库的malloc分析

c运行库malloc分配的内存在哪里呢,首先上代码:
//内存大小连接器将其地址指向-heap选项
extern _DATA_ACCESS int _SYSMEM_SIZE;
//内存区域
#pragma DATA_SECTION(_sys_memory, ".sysmem")
far PACKET _sys_memory[1] = { ((size_t)&_SYSMEM_SIZE) - sizeof(PACKET), 0 };
    
   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号