`
justshare
  • 浏览: 103870 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

C系列: 关于头文件 .h 的应用

阅读更多
对于一个文件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,走了不少弯路,别看上面写得这么简单,那是建立在问了同学+自己摸索了半天之后才明白的。可能是自己太笨了点,其实还有一个主要的原因是脑子一下子转换不过来,习惯真是可怕啊。
分享到:
评论

相关推荐

    Android 代码分析

    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程序部分 ...

    实现语法高亮显示的VC代码

    其中Syntax.h、Syntax.cpp包含了一系列语言的语法分析的API函数。 CSynEditView一个支持语法编辑的视图类。 使用方法非常简单:将Syntax.h、Syntax.cpp、SynEditView.h和SynEditView.cpp四个文件导入你的工程,便可...

    C语言多线程

    C语言的开始设计,并未设计多线程的机制,由于随着软硬件的发展及需求的发展。后来C语言才开发了线程库以支持多线程的操作、应用。  主要基于Linux介绍C多线程...另一方面要包含有关线程头文件#include &lt;pthread.h&gt;。

    内核和用户空间通信—netlink源码

    其中imp2_k.c为内核模块的源代码,imp2_u.c为应用程序,即测试代码,imp2.h为两个源文件都需要引用的头文件。其整体的功能是:注册一种新的netlink协议,并注册一个新的NF hook函数。当有ping包发往当前主机或者...

    28335电机控制工程解析.rar

    TMS320F28335 DSP是一款高性能、高集成度的数字信号处理器,常用于电机控制应用中。在使用DSP28335进行电机控制时,工程文件通常包含以下几个部分: C或汇编语言编写的程序代码文件,如主控程序、PWM模块配置与控制...

    USB应用开发技术大全光盘资料

    USB应用开发技术大全光盘资料 BasicUSB.SchDoc 电路原理图 FX2Test/FX2Test.Uv2 Keil C51工程 FX2Test/EZUSB.LIB EZ-USB库文件 FX2Test/dscr.a51 USB描述符 FX2Test/USBJmpTb.OBJ ...

    2833x电机控制算法模块化结构.rar

    TMS320F28335 DSP是一款高性能、高集成度的数字信号处理器,常用于电机控制应用中。在使用DSP28335进行电机控制时,工程文件通常包含以下几个部分: C或汇编语言编写的程序代码文件,如主控程序、PWM模块配置与控制...

    sse2neon:自动从code.google.compsse2neon导出

    AC / C ++头文件,可将Intel SSE内部函数转换为ARN NEON内部函数。 信息 英特尔的SIMD指令集(称为SSE)在许多应用程序中用于提高性能。 ARM还向其处理器引入了称为Neon的SIMD指令集。 重写为SSE编写的代码以在Neon...

    用于 C 的字符串处理函数集源代码.rar

    left—— 从左到右截掉字符 mid——截掉从某个起始位置到右边位置的字符 zip文件中包含StringFunctins.h和StringFunctins.cpp是字符串处理函数的头文件和实现文件,main.cpp和main.h是一个控制台应用程序的头和实现...

    4千行,仅头文件,全平台 GUI库;适用于:物联网、嵌入式、单片机、桌面应用

    轻量: 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.....

    java获取当前windows进程pid

    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文件,...

    嵌入式Linux C语言应用程序设计

    其中args_cmd.h是解析命令相关的头文件,ctrl.c和ctrl.h是控制命令的源代码,proc_cmd.c是具体操作的源代码,thread.c和thread.h是线程相关的源代码,types.h是类型相关的源代码,net_send.h是网络相关的源代码。...

    高焕堂<应用框架原理与程序设计>源代码(Eclipse)

    写完各个C文件和H文件后(关于这些文件书中有源码)。开始编译.so文件 Windows下编译.so文件步骤(这里我使用NDK(android-ndk-1.6_r1)加Cygwin 在windows下编译,如果没有请安装, 注:android-ndk-1.6_r1只支持...

    SPLCore:Splinesoft共享依赖项

    SPLCore.h :基本头文件。 SPLDebug.h :宏和调试帮助器。 SPLFloat.h :在arm64 / armv7上进行浮点和双打的助手。 另请参见 。 安装 可通过 。 # Podfile source 'https://github.com/splinesoft/specs.git' ...

    点阵LCD 的驱动显控原理 好书

    4. Mz_MenuGUI 菜单应用........................................................................................................57 4.1. Mz_MenuGUI................................................

    炫彩界面库(DirectUI,C&C++,v1.3.1)

    使用时请导入XCGUI.LIB文件,并包含XCGUI.h头文件. XCGUId.LIB为调试版 在使用中请参考炫彩界面库帮助文档: http://www.xcgui.com/documentc/index.html 你们的支持,让我们做的更好! 1.3.1主要更新如下: 新增...

    模块驱动编写-2011-10-10.rar

    其中untitled.c、untitled.h、rtwtypes.h是模块生成的对应代码,ert_main.c可以手动写,也可以由模板生成,由模板生成的话,有些地方需要手动修改,或者使用自己定制的模板(还在学习中) 从untitled.c中可以看出...

    miracl头文件下载

    MIRACL(Multiprecision Integer and RationalArithmetic C/c++ Library)是一套由Shamus Software Ltd.所开发的一套关于大数运算函数库,用来设计与大数运算相关的密码学之应用,包含了RSA 公开密码学、Diffie-...

    STC15F2K60S2单片机开发板软硬件技术资料包括36个软件DEMO源码+硬件参考设计原理图及文档资料.zip

    关于12864的图片制作 原理图.sch 参考文件资料 应用软件 程序方面 系统板原理图.pdf 1 闪烁运行指示灯 10 外部中断 1 11 串口1收发 16位重装载 12 串口1仅发 16位重装载 13 串口2 接收发送 14 掉电测试 15 串口2 及...

    Linux 下调试动态链接库

    大家都知道在 Linux 可以用 gdb 来调试应用程序,当然前提是用 gcc 编译程序时要加上 -g 参数。 我这篇文章里将讨论一下用 gdb 来调试动态链接库的问题。 首先,假设我们准备这样的一个动态链接库: QUOTE: 库名称是...

Global site tag (gtag.js) - Google Analytics