Linux下C编程入门(.h文件,.c文件,以及多文件调用的方式)

1、首先,以Ubuntu 64-bit操作系统下为例

图中的sudo su表示的是快速进入到root管理员下。这里的密码默认的是安装后的Ubunto操作系统中自定义的用户名的密码,此处以用户toto,密码:123456为例

2、在/demo目录下创建以下三个文件(看截图):

注意:其中add.c的内容如下(通过vi编辑器编辑add.c):

其中的add.h(用于声明同级目录下的add.c文件中编写的函数)。截图如下:

3、关于自定义add.h函数的引用,在main.c中的写法如下:

4、编译add.c和main.c并将两者编译后的文件合并到app里面,代码如下:

其中上面的-o表示的是输出到指定的目录的命令

5、执行app。输入   ./app    结果如下:

时间: 2024-10-06 11:43:31

Linux下C编程入门(.h文件,.c文件,以及多文件调用的方式)的相关文章

Linux下串口编程入门

简介: Linux操作系统从一开始就对串行口提供了很好的支持,本文就Linux下的串行口通讯编程进行简单的介绍.   串口简介  串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用.常用的串口是RS-232-C接口(又称EIA RS-232-C)它是在1970年由美国电子工业协会(EIA)联合贝尔系统.调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准.它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定

嵌入式-Linux下,如何将H.264的帧文件,保存为视频文件,可供播放?

问题描述 Linux下,如何将H.264的帧文件,保存为视频文件,可供播放? 我目前是在嵌入式Linux下,将H.264编码后的视频帧,通过网络传输至另外一端.请部,作为接收端,应该通过哪种方式或工具,将视频帧保存为视频文件,可供电脑播放? 发送端大约每秒发送25帧,通过无线传输,有可能中间有丢失帧.而保存的文件,需要将丢失帧也考虑进保存的文件中,谢谢了!! 解决方案 http://bbs.csdn.net/topics/390041128 解决方案二: 看看这个帖子可有用http://bbs.

Linux下c++编程中,STL模板的使用。

问题描述 Linux下c++编程中,STL模板的使用. Linux下c++编程,使用STL模板,为什么只识别#include 而不识别#include ? 程序中只要有#include 就会报无数多个错! 解决方案 难道c++标准模板库STL中没有包含queue,你可以去根目录去看看include头文件中有没有queue.h 解决方案二: STL头文件目录是否被include进项目中,如果自己写makefile的话,查看下INCLUDE的目录,如果IDE的话就查看下项目设置中的include选项

Linux下多线程编程(C语言)

Linux下多线程编程(C语言) 2.6内核开始使用NPTL(Native POSIX Thread Library)线程库,这个线程库有以下几个目标: POSIX兼容,都处理结果和应用,底启动开销,低链接开销,与Linux Thread应用的二进制兼容,软硬件的可扩展能力,与C++集成等. 这里的线程是指用户空间的线程操作 一.线程相关操作 1.1  pthread_t      pthread_t 在头文件  /usr/include/i386-linux-gnu/bits/pthreadt

Linux下多进程编程(C语言)

Linux下多进程编程(C语言) 一.    进程简介 1.进程是程序的执行.程序是静态的,进程是动态的. 2.进程在内存中有三部分组成:数据段.堆栈段和代码段.          代码段:就是存放程序代码的数据,如果有数个进程运行同一个一个程序,那么它们就可以使用同一个代码段(代码段是可以共享的):          堆栈段:存放的是子程序的返回地址.参数以及程序的局部变量,主要是保存进程的执行的环境,这里用到了栈先进后出的特性,可以看做具有记忆上一次执行的环境.          数据段:存

Linux下网络编程read,write问题(C语言),求大神指点阿!!!

问题描述 Linux下网络编程read,write问题(C语言),求大神指点阿!!! zuijzuj.最近学习socket编程的时候调试代码出现了一些问题,求大神们指导阿!!!我要实现的功能是客户端输入两个操作数和一个运算符,在服务端进行运算再把结果返回到客户端.现在的bug是客户端输入第一个操作数的时候没问题,输入运算符的时候客户端可以通过write函数写入但是服务端读出的结果不是输入的运算符,客户端输入第二个操作数的时候write函数无法写入,这是缓冲区满了吗?缓冲区大小不是由内核自己决定的

Linux下Shell编程快捷键大全(日常整理)_linux shell

有时候,我们需要在 Bash 中重复执行先前的命令.你当然可以使用上方向键来查看之前曾经运行过的命令.但这里有一些更好的方式,例如,数量掌握以下的快捷键. 1) !!:重复执行上一条指令 2) !a:重复执行上一条以a为首的指令 3) !number:重复执行上一条在history表中记录号码为number的指令 4) !-number:重复执行前第number条指令 5) !$:表示获得上一条命令中的最后一项内容 6) 用Ctrl + r 组合键来进入历史搜索模式在history表中查询某条过

linux下串口编程read函数返回(非超时返回)问题

问题描述 linux下串口编程read函数返回(非超时返回)问题 串口编程经典应用场景:打开串口,阻塞模式,非超时返回,有数据返回,无数据死等. 简易代码为例: void* read_thread(void* param) { char szbuf[128]; int size = 0; while (running) { size = read(fd, szbuf, sizeof(szbuf)); } return 0; } int main() { fd = open(port, O_RDW

小工具 指令-linux下有没有可能将程序函数被像系统指令一样调用

问题描述 linux下有没有可能将程序函数被像系统指令一样调用 有没有可能将程序函数被像系统指令一样调用,就是程序在后台运行时只用终端 去调用程序里的函数,这个函数是程序的其中一部分. 意图是查看这个程序后台运行过程中里面变量的值.能否实现?谢谢!! 解决方案 if you use eclipse or .net studio to develop,you can run your project in debug mode