对于一个文件fileA.c调用另外一个文件fileB.c的printmessage函数,上一遍文章
C系列: 关于multiple markers at this line的error里面讲道:除了在fileB.c中要声明外,还需要在fileA.c中再次声明。这样声明来声明去的,是个累赘。这时我就想,能不能把它做成类似于JAVA的接口,需要时加进来?正好,在C里面有这种类似的机制,它就叫
头文件。把公用的函数声明到头文件,具体调用时再用include把头文件包含进来。
头文件:template.h
/*
* template.h
*/
#ifndef TEMPLATE_H_
#define TEMPLATE_H_
void printmessage(); /*在头文件中声明*/
#endif /* TEMPLATE_H_ */
调用文件:fileA.c
/*
* fileA.c
*/
#include <stdio.h>
#include "template.h" /*将声明好的头文件包含进来*/
void ghellops() {
printmessage(); /*调用fileB.c中的printmessage函数*/
printf("fold aaa.c\n");
}
被调用文件:fileB.c
/*
* fileB.c
*/
#include <stdio.h>
#include "template.h" /*将声明好的头文件包含进来*/
/*实现方法*/
void printmessage() {
printf("printmessage\n");
}
记:大一的时候学过一学期的C语言,后来就再也没碰过C。自从接触JAVA的面向对象后,现在再回头学C,走了不少弯路,别看上面写得这么简单,那是建立在问了同学+自己摸索了半天之后才明白的。可能是自己太笨了点,其实还有一个主要的原因是脑子一下子转换不过来,习惯真是可怕啊。
分享到:
相关推荐
29.2.1. 头文件IMediaPlayerClient.h 105 29.2.2. 头文件mediaplayer.h 105 29.2.3. 头文件IMediaPlayer.h 106 29.2.4. 头文件IMediaPlayerService.h 107 29.3 MediaPlayer的主要实现分析 108 29.3.1. JAVA程序部分 ...
其中Syntax.h、Syntax.cpp包含了一系列语言的语法分析的API函数。 CSynEditView一个支持语法编辑的视图类。 使用方法非常简单:将Syntax.h、Syntax.cpp、SynEditView.h和SynEditView.cpp四个文件导入你的工程,便可...
C语言的开始设计,并未设计多线程的机制,由于随着软硬件的发展及需求的发展。后来C语言才开发了线程库以支持多线程的操作、应用。 主要基于Linux介绍C多线程...另一方面要包含有关线程头文件#include <pthread.h>。
其中imp2_k.c为内核模块的源代码,imp2_u.c为应用程序,即测试代码,imp2.h为两个源文件都需要引用的头文件。其整体的功能是:注册一种新的netlink协议,并注册一个新的NF hook函数。当有ping包发往当前主机或者...
TMS320F28335 DSP是一款高性能、高集成度的数字信号处理器,常用于电机控制应用中。在使用DSP28335进行电机控制时,工程文件通常包含以下几个部分: C或汇编语言编写的程序代码文件,如主控程序、PWM模块配置与控制...
USB应用开发技术大全光盘资料 BasicUSB.SchDoc 电路原理图 FX2Test/FX2Test.Uv2 Keil C51工程 FX2Test/EZUSB.LIB EZ-USB库文件 FX2Test/dscr.a51 USB描述符 FX2Test/USBJmpTb.OBJ ...
TMS320F28335 DSP是一款高性能、高集成度的数字信号处理器,常用于电机控制应用中。在使用DSP28335进行电机控制时,工程文件通常包含以下几个部分: C或汇编语言编写的程序代码文件,如主控程序、PWM模块配置与控制...
AC / C ++头文件,可将Intel SSE内部函数转换为ARN NEON内部函数。 信息 英特尔的SIMD指令集(称为SSE)在许多应用程序中用于提高性能。 ARM还向其处理器引入了称为Neon的SIMD指令集。 重写为SSE编写的代码以在Neon...
left—— 从左到右截掉字符 mid——截掉从某个起始位置到右边位置的字符 zip文件中包含StringFunctins.h和StringFunctins.cpp是字符串处理函数的头文件和实现文件,main.cpp和main.h是一个控制台应用程序的头和实现...
轻量: 4千行C++代码,0依赖,单一头文件库(GuiLite.h) Processor Disk/ROM space Memory 24 MHZ 29 KB 9 KB 跨平臺 支持的操作系统:iOS/macOS/WatchOS,Android,Linux(ARM/x86-64),Windows(包含VR),RTOS.....
2.javah -jni PidTool ,生成.h头文件 3.编写.c文件实现函数功能 4. cl PidTool.c -FePidTool.dll -LD -I"D:\Development\Java\jdk1.6.0\include" -I"D:\Development\Java\jdk1.6.0\include\win32" ,生成dll文件,...
其中args_cmd.h是解析命令相关的头文件,ctrl.c和ctrl.h是控制命令的源代码,proc_cmd.c是具体操作的源代码,thread.c和thread.h是线程相关的源代码,types.h是类型相关的源代码,net_send.h是网络相关的源代码。...
写完各个C文件和H文件后(关于这些文件书中有源码)。开始编译.so文件 Windows下编译.so文件步骤(这里我使用NDK(android-ndk-1.6_r1)加Cygwin 在windows下编译,如果没有请安装, 注:android-ndk-1.6_r1只支持...
SPLCore.h :基本头文件。 SPLDebug.h :宏和调试帮助器。 SPLFloat.h :在arm64 / armv7上进行浮点和双打的助手。 另请参见 。 安装 可通过 。 # Podfile source 'https://github.com/splinesoft/specs.git' ...
4. Mz_MenuGUI 菜单应用........................................................................................................57 4.1. Mz_MenuGUI................................................
使用时请导入XCGUI.LIB文件,并包含XCGUI.h头文件. XCGUId.LIB为调试版 在使用中请参考炫彩界面库帮助文档: http://www.xcgui.com/documentc/index.html 你们的支持,让我们做的更好! 1.3.1主要更新如下: 新增...
其中untitled.c、untitled.h、rtwtypes.h是模块生成的对应代码,ert_main.c可以手动写,也可以由模板生成,由模板生成的话,有些地方需要手动修改,或者使用自己定制的模板(还在学习中) 从untitled.c中可以看出...
MIRACL(Multiprecision Integer and RationalArithmetic C/c++ Library)是一套由Shamus Software Ltd.所开发的一套关于大数运算函数库,用来设计与大数运算相关的密码学之应用,包含了RSA 公开密码学、Diffie-...
关于12864的图片制作 原理图.sch 参考文件资料 应用软件 程序方面 系统板原理图.pdf 1 闪烁运行指示灯 10 外部中断 1 11 串口1收发 16位重装载 12 串口1仅发 16位重装载 13 串口2 接收发送 14 掉电测试 15 串口2 及...
大家都知道在 Linux 可以用 gdb 来调试应用程序,当然前提是用 gcc 编译程序时要加上 -g 参数。 我这篇文章里将讨论一下用 gdb 来调试动态链接库的问题。 首先,假设我们准备这样的一个动态链接库: QUOTE: 库名称是...