在前一系统中介绍了text.h,回顾下,该文件包含了EPANET中所有字符串常量的定义,而ENUMSTXT.H文件则是以text.h中定义的字符串常量为基础,来对这些字符串常量进行合理的分组,形成字符串数组,这里的字符串用指针的形式来表示,也即用指针数组来进行分组.下面简单介绍下各个分组: ENUMSTXT.H for assignment of string constants to enumerated types 以下部分是整个ENUMSTXT.H的原文,以及红色部分是我增加的注释 /**…
//EPANET应用程序使用了大量的节点与管段数据,而且每个对象数据又有不同时段的数据,这些数据占用了大量内存,而mempool.h就是一个简单快速的内存分配相关的头文件/***  mempool.h****  Header for mempool.c****  The type alloc_handle_t provides an opaque reference to the**  alloc pool - only the alloc routines know its structure…
该文件是EPANET中HASH.C的头文件,下面列出了该文件的源码以及我的中文注释 /* HASH.H**** Header file for Hash Table module HASH.C***/ #define HTMAXSIZE 1999#define NOTFOUND  0 //哈希表结构,是一个单向链表结构struct HTentry{ char  *key; int  data; struct HTentry *next;}; //定义一个指向哈希表的指针typedef struc…
该头文件的功能与系列3中的TOOLKIT.H类似,而且内容也几乎一致,所以也就不再详细介绍.…
/******************************************************************** TOOLKIT.H - Prototypes for EPANET Functions Exported to DLL Toolkit            VERSION:    2.00DATE:       5/8/00            10/25/00            3/1/01            8/15/07    (2.00.…
/************************************************************************                                                                     TYPES.H -- Global constants and data types for EPANET program                                               …
定义在TEXT.H文件中的字符常量都以小写开头,然后紧跟一个下划线,再接着就全是大写字母 /***************************************************** String Constants for EPANET Program                                                                                                 VERSION:    2.00  …
/*************************************************************************            Global Variables for EPANET Program                                                                                                VERSION:    2.00                 …
/***************************************************************************                                                                   FUNCS.H -- Function Prototypes for EPANET Program                                                          …
所有C++标准库的头文件都是没有.h结尾的.这么做是为了区分,C标准库的头文件和C++标准库的头文件.比如最具代表性的: #include <string.h> // C 标准库头文件,包含 strlen,memset 等函数 #include <string> // C++ 标准库头文件,包含 std::string 类 此外对于所有C标准库头文件,如果你是在C++项目中引用,你应该使用#include 这种方式而不是#include <xxx.h>这种形式.也就是说…
Wizard产生的头文件类包含了必须的#include文件.构造函数.析构函数和UI对象: #include <QMainWindow> namespace Ui {class Notepad;} class Notepad : public QMainWindow { Q_OBJECT public: ); ~Notepad(); private: Ui::Notepad *ui; }; 解释如下: 行4提供了主应用窗口: 行6声明Notepad类在Ui命名空间内(Ui命名空间是由uic t…
 .c和.h文件的区别 一个简单的问题:.c和.h文件的区别 学了几个月的C语言,反而觉得越来越不懂了.同样是子程序,可以定义在.c文件中,也可以定义在.h文件中,那这两个文件到底在用法上有什么区别呢? 2楼: 子程序不要定义在.h中. 函数定义要放在.c中,而.h只做声明.否则多引用几次,就会发生函数重复定义的错误. 3楼: .h只做声明,编译后不产生代码   4楼: 这样做目的是为了实现软件的模块化 使软件结构清晰,而且也便于别人使用你写的程序 纯粹用 C 语言语法的角度,你当然可以在 .h…
1.C++头文件用<>包含还是” “? 答:用<>包含,编译器会先在系统目录下搜索: 用” ” 包含,编译器会先在用户目录下搜索. 所以,如果使用系统标准库,要使用<>来包含头文件:使用自定义头文件用” “包含最好. 2.头文件什么时候要加.h什么时候不加? 答:关于这个事情的历史原因等等不赘述,直接怼结论了. 如果使用的是新的C++标准库,不加 .h.例如#include<iostream> 如果是旧的C++库,很抱歉现在已经不支持了(无奈脸) 此外C++…
用#include可以包含其他头文件中变量.函数的声明,为什么还要extern关键字? 如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include<xxx.h> (xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢?? 这个问题一直也是似是而非的困扰着我许久,经过实践和查找资料,有如下总结: 一.头文件 首先说下头文件,其实头文件对计算机而言没什么作用,她只是在预编译时在#include的地方展开一下,没别的意义了,其实头文件主要是给别人看的. 我做过一个实验,…
原文网址为:http://lpy999.blog.163.com/blog/static/117372061201182051413310/ 个人认为有一些道理:所以转过来学习了. 用#include可以包含其他头文件中变量.函数的声明,为什么还要extern关键字? 如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include<xxx.h> (xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢?? 这个问题一直也是似是而非的困扰着我许久,经过实践和查找资料,有如…
如果stdafx.h和你当前的工程不在一个文件夹下,当你在代码中第一行写下#include "stdafx.h"时,VC编译器会根据编译规则(相关的规则请查看MSDN)来区别stdafx.h的位 置,但是其智能感知工具IntelliSense却不能.所以你的代码即使能够通过编译器,而IntelliSense却不能感知到,因为它没有利用相同的规则.如果你指定了这个文件的 具体位置,例如"..//stdafx.h",此时IntelliSene能够正确的感知到,而编译器却…
string.h string.h是一个C标准头文件,所有的C标准头文件都形如name.h的形式,通过#include <string.h>可以导入此头文件.之后我们就可以在程序中使用strlen()等函数了.但是一般编译器认为string.h是基本的头文件会默认包含,所以我们一般都可以直接使用strlen()等函数而不必主动引入string.h头文件. cstring cstring是C++版本的string.h C标准头文件,一般C标准的头文件C++都会定义一个与其对应的C++版本的头文件…
工欲善其事,必先利其器. 在正式实现各种炫酷的功能和UI前,做好准备工作是提高后续开发效率的必经之路. 所以,这个系列,我不是在各种堆技术,更关注的是“兵马动”之前的“粮草行”,有些繁琐,但当清晰理出整个脉络,后续的工作只是在良好的基础和框架上无限扩展和优化. 宏定义,是开发过程中提高效率的有效工具.很有必要归纳一些全局通用的宏定义,以便简单高效的使用. 如下,整理了一些通用宏定义,应该是开发必备的: #pragma mark -- 设置全局尺寸宏 #define StatusBarHeight…
如何正确编写 C 语言头文件和与之相关联的 c 源程序文件,这首先就要了解它们的各自功能. 要理解 C 文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程. 一般说来编译器会做以下几个过程: 1.预处理阶段 2.编译阶段,首先编译成纯汇编语句,再将之汇编成跟 CPU 相关的二进制码,生成各个目标文件 (.obj文件) 3.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件. 编译器在编译时是以C 文件为单位进行的,也就是说如果你的项目中一个 C…
很多初学单片机者往往对C51的头文件感到很神秘,而为什么要那样写,甚至有的初学者喜欢问,P1口的P为什么要大写,不大写行不行呢?其实这个是在头文件中用sfr定义的,现在定义好了的是这样的 sfr P1  = 0x90; 也就是说,到底大写,还是小写,就是在这里面决定的.这就说明,如果你要用小写,就得在头文件中改为小写.其实它都是为了编程序方便才这样写的,在程序编译时,就会变成相应的地址(如P1就变成了0x90). 下面是一个标准的C51头文件REG52.H: (此文件一般在C:\KEIL\C51…
转自:http://www.eefocus.com/computer00/blog/08-09/155791_9ebdc.html 一些初学C语言的人,不知道头文件(*.h文件)原来还可以自己写的. 只知道调用系统库函数时,要使用#i nclude语句将某些头文件包含进去. 其实,头文件跟.C文件一样,是可以自己写的. 头文件是一种文本文件,使用文本编辑器将代码编写好之后,以扩展名.h保存就行了.头文件中一般放一些重复使用的代码,例如函数声明,变量声明,常数定义,宏的定义等等. <>是标准库的…
用C++写程序,肯定要用预编译头文件,就是那个stdafx.h.不过我一直以为只要在.cpp文件中包含stdafx.h 就使用了预编译头文件,其实不对.在VC++中,预编译头文件是指放到stdafx.h中的头文件才会有效果.如下: file: stdafx.h // stdafx.h : include file for standard system include files, // or project specific include files that are used freque…
一. 三种类型的套接字:1.流式套接字(SOCKET_STREAM)    提供面向连接的可靠的数据传输服务.数据被看作是字节流,无长度限制.例如FTP协议就采用这种.2.数据报式套接字(SOCKET_DGRAM)    提供无连接的数据传输服务,不保证可靠性.3.原始式套接字(SOCKET_RAW)    该接口允许对较低层次协议,如IP,ICMP直接访问. 二. 基本套接字系统调有有如下一些:    创建套接字: socket()    绑定本机端口: bind()    建立连接: con…
源: http://blog.csdn.net/lqk1985/archive/2008/10/24/3136364.aspx 如何组织编写模板程序 发表日期: 1/21/2003 12:28:58 PM 发表人: Nemanja Trifunovic 前言常遇到询问使用模板到底是否容易的问题,我的回答是:“模板的使用是容易的,但组织编写却不容易”.看看我们几乎每天都能遇到的模板类吧,如STL, ATL, WTL, 以及Boost的模板类,都能体会到这样的滋味:接口简单,操作复杂. 我在5年前开…
原文链接:http://blog.chinaunix.net/uid-22609852-id-3506475.html 驱动常用头文件介绍 #include <linux/***.h> 是在linux-2.6.29/include/linux下面寻找源文件.#include <asm/***.h> 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件.#include <mach/***.h> 是在linux-2.6.29/arch/ar…
转自:http://blog.csdn.net/lufeiop02/article/details/6448497 关于linux驱动(应用)程序头文件使用 收藏 驱动程序: #include <linux/***.h> 是在linux-2.6.29/include/linux下面寻找源文件.#include <asm/***.h> 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件.#include <mach/***.h> 是在li…
在 VS2010 中,C++ 的工程文件已经和 2005 / 2008 有了很大的不同,而是完全采用 MSBUILD 的属性方式进行表达,并且可以让用户通过一次性的配置而对所有的属性进行自定义: 根据我的理解和实际使用中发现的一些信息,现整理成文与大家分享: 一.工程文件分为三个主要部分:初始化配置信息.默认配置信息和本地配置信息: 二.配置信息全部采用属性文件的方式进行组织,并且可以通过“导入”进行引用: 三.属性文件中可以包含工程属性.编译属性和链接属性的配置: 四.所有的配置项可以通过使用…
1.需要包含的头文件和命名空间 #include "SimpleAudioEngine.h"using namespace CocosDenshion;…
转自: C/C++常用头文件及函数汇总 C/C++头文件一览 C #include <assert.h> //设定插入点#include <ctype.h> //字符处理#include <errno.h> //定义错误码#include <float.h> //浮点数处理#include <iso646.h>        //对应各种运算符的宏#include <limits.h> //定义各种数据类型最值的常量#include…
linux常用头文件及说明 1. Linux中一些头文件的作用: <assert.h>:ANSI C.提供断言,assert(表达式)<glib.h>:GCC.GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数.使用glib只需要包含<glib.h><dirent.h>:GCC.文件夹操作函数.struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()等 <c…