青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

小明思考

高性能服務(wù)器端計(jì)算
posts - 70, comments - 428, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

如何寫出專業(yè)的C頭文件

Posted on 2007-05-15 13:38 小明 閱讀(10446) 評論(7)  編輯 收藏 引用 所屬分類: C/C++
 

做到專業(yè),應(yīng)該是每個(gè)職業(yè)程序員應(yīng)該要求自己做到的。
讓我們看看lua是怎么寫頭文件的。

1.License Agreement
License Agreement
應(yīng)該加在每個(gè)頭文件的頂部。
Lua Sample:

 

/*
** $Id: lua.h,v 1.175b 2003/03/18 12:31:39 roberto Exp $
** Lua - An Extensible Extension Language
** Tecgraf: Computer Graphics Technology Group, PUC-Rio, Brazil
** 
http://www.lua.org    mailto:info@lua.org
** See Copyright Notice at the end of this file
*/

 


2.guard define
整個(gè)頭文件應(yīng)該在guard define之間

#ifndef lua_h
#define lua_h

#endif

 另外,如果這個(gè)頭文件可能給c++使用,要加上

#ifdef __cplusplus
extern "C" {
#endif
/*The lines within extern "C" */



#ifdef __cplusplus
}
#endif

 
3.盡量不要在頭文件中暴露數(shù)據(jù)結(jié)構(gòu)

這樣可以用戶降低對你的實(shí)現(xiàn)的依賴,也減少了用戶的編譯時(shí)間

 

typedef struct lua_State lua_State;
LUA_API lua_State 
*lua_open (void);
LUA_API 
void       lua_close (lua_State *L);

 可以看到雖然用戶會一直使用lua_State,但是并不知道lua_State的結(jié)構(gòu)是什么

從一個(gè)使用lua的例子程序可以看出:

 

#include "lua.h"
#include 
"lauxlib.h"
#include 
"lualib.h"

 

int main(int argc, char *argv[])
{
    lua_State 
*= lua_open();
    
const char *buf = "var = 100";
    
int var ;
    luaopen_base(L);
    luaopen_io(L);
    lua_dostring(L, buf);
    lua_getglobal(L, 
"var");
    var 
= lua_tonumber(L, -1);
    lua_close(L);
    
return 0;
}

 

4.函數(shù)聲明前加XXX_API已利于拓展

 Lua的例子

#ifndef LUA_API
#define LUA_API              extern
#endif

LUA_API lua_State 
*lua_open (void);


如果定義了LUA_API就是給LUA內(nèi)部使用的

如果沒定義LUA_API就是for user

Window dll程序經(jīng)常會用到

 

#ifdef DLLTEST_EXPORTS
#define DLLTEST_API __declspec(dllexport)
#else
#define DLLTEST_API __declspec(dllimport)
#endif

 

 

5.宏的定義

盡量使用括號來包住所定義的對象

 

#define LUA_TNONE       (-1)

#define lua_register(L,n,f) \
       (lua_pushstring(L, n), \
        lua_pushcfunction(L, f), \
        lua_settable(L, LUA_GLOBALSINDEX))

 
6.目錄結(jié)構(gòu)

一般應(yīng)該使用一個(gè)單獨(dú)的include目錄來包含要發(fā)布的頭文件,但不應(yīng)該把內(nèi)部使用的頭文件包含進(jìn)去。

Lua   include目錄只包含了三個(gè)頭文件

lauxlib.h , lua.h, lualib.h

非常簡潔

Feedback

# re: 如何寫出專業(yè)的C頭文件  回復(fù)  更多評論   

2007-05-17 11:49 by 丑石
總結(jié)的不錯(cuò)!

# re: 如何寫出專業(yè)的C頭文件  回復(fù)  更多評論   

2007-05-18 23:07 by Qiu Xianli
值得學(xué)習(xí)一下。

# re: 如何寫出專業(yè)的C頭文件  回復(fù)  更多評論   

2007-09-01 22:48 by 螞蟻終結(jié)者
不錯(cuò),學(xué)習(xí)了。

# re: 如何寫出專業(yè)的C頭文件  回復(fù)  更多評論   

2007-10-17 10:04 by 螞蟻終結(jié)者
都是相當(dāng)實(shí)用的,不錯(cuò)。

# re: 如何寫出專業(yè)的C頭文件  回復(fù)  更多評論   

2008-01-23 16:41 by icqanki
的確不錯(cuò).

# re: 如何寫出專業(yè)的C頭文件  回復(fù)  更多評論   

2008-07-03 18:23 by pantree
謝謝了,不錯(cuò),啟發(fā)很多。最近正為這個(gè)頭疼

# re: 如何寫出專業(yè)的C頭文件  回復(fù)  更多評論   

2010-01-20 10:34 by xx
支持,總結(jié)得不錯(cuò)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩一区二区久久| 99国产精品自拍| 欧美一区二区视频免费观看| 欧美成人综合在线| 亚洲网站在线观看| 亚洲精品国产精品久久清纯直播| 国产欧美韩国高清| 免费一区视频| 欧美一区二区三区婷婷月色| 精品不卡视频| 国产精品99免费看 | 国产精品婷婷| 国产精品国产三级国产aⅴ浪潮| 欧美日韩一级视频| 国产欧美一区二区三区另类精品 | 欧美一区二区三区成人| 亚洲欧美激情视频| 欧美一区视频| 欧美精品午夜| 狠狠色狠色综合曰曰| 日韩视频永久免费观看| 午夜亚洲福利在线老司机| 欧美不卡高清| 欧美一区二区视频在线观看| 免费高清在线一区| 国产精品激情电影| 一区二区三区欧美在线| 快播亚洲色图| 亚洲免费综合| 国产精品视频网| 亚洲欧美国产另类| 日韩一级二级三级| 美女网站久久| 亚洲激情电影中文字幕| 久久亚洲精品欧美| 先锋资源久久| 一区二区三区在线免费观看| 欧美一区二区三区啪啪| 一区二区三区av| 国产精品福利av| 亚洲欧美久久久| 午夜精品久久久久99热蜜桃导演| 欧美sm极限捆绑bd| 亚洲一级影院| 欧美成年人网| 又紧又大又爽精品一区二区| 午夜亚洲影视| 日韩五码在线| 欧美激情一区在线观看| 在线观看日韩av| 久久人人精品| 久久国产精彩视频| 国产日本欧美在线观看| 午夜精品久久久| 一区二区三区高清在线| 欧美日韩国产页| 中文网丁香综合网| 亚洲精品视频在线看| 欧美激情一区二区三区在线视频| 亚洲激情视频在线播放| 欧美成人综合网站| 免费欧美在线视频| 91久久精品美女高潮| 你懂的一区二区| 久久久一区二区| 最新国产乱人伦偷精品免费网站 | 欧美在线播放| 欧美一区二区三区免费大片| 国产一区美女| 美女任你摸久久| 免费不卡亚洲欧美| 91久久精品www人人做人人爽| 欧美激情中文字幕在线| 欧美精品亚洲精品| 亚洲天堂av高清| 亚洲制服av| 国产一区二区三区奇米久涩| 裸体一区二区| 欧美激情按摩在线| 亚洲综合激情| 久久精品国产综合| 99热这里只有精品8| 一区二区国产在线观看| 国产婷婷色综合av蜜臀av| 久久综合国产精品| 欧美激情一区二区三区在线视频 | 亚洲欧美日韩综合aⅴ视频| 亚洲一区二区三区免费观看 | 日韩香蕉视频| 亚洲一区二区网站| 一区二区三区中文在线观看 | 亚洲精品国久久99热| 欧美激情精品久久久久久黑人| 欧美不卡三区| 欧美一级艳片视频免费观看| 久久网站免费| 亚洲一区www| 午夜亚洲影视| 亚洲精品欧美日韩| 午夜精彩视频在线观看不卡 | 最新高清无码专区| 国产精品入口66mio| 免费观看在线综合色| 欧美日韩一区二区国产| 老司机成人在线视频| 国产精品久久久爽爽爽麻豆色哟哟| 久久男人资源视频| 欧美性事在线| 亚洲黄色大片| 影音先锋久久资源网| 中文日韩在线视频| 日韩视频不卡| 蜜乳av另类精品一区二区| 欧美影院成人| 欧美色欧美亚洲高清在线视频| 欧美成人午夜剧场免费观看| 国产日韩欧美在线播放不卡| 日韩视频一区二区在线观看 | 久久成人免费视频| 欧美精品久久99| 免费观看欧美在线视频的网站| 国产日本欧洲亚洲| 亚洲午夜av在线| 野花国产精品入口| 欧美成人国产| 亚洲狠狠丁香婷婷综合久久久| 亚洲国产精品精华液网站| 久久久午夜电影| 狼狼综合久久久久综合网| 国产亚洲精品久久久久婷婷瑜伽| 一区二区三区精品国产| 亚洲视频一区二区| 欧美日韩国产不卡| 亚洲精品一线二线三线无人区| 亚洲国产1区| 久久婷婷综合激情| 亚洲福利视频一区| 亚洲高清视频一区| 欧美成年人视频网站| 亚洲国产一区在线观看| 亚洲精品视频免费在线观看| 免费在线亚洲欧美| 亚洲国产精品尤物yw在线观看| 亚洲人午夜精品| 欧美全黄视频| 在线视频欧美日韩精品| 亚洲欧美怡红院| 国产一区二区三区视频在线观看| 欧美一级艳片视频免费观看| 久久精选视频| 亚洲第一狼人社区| 欧美激情日韩| 亚洲一区成人| 久久一区欧美| 亚洲人成网在线播放| 欧美电影免费观看高清| 这里只有精品丝袜| 国产精品国产a级| 亚洲欧美日韩精品综合在线观看| 久久精品视频在线| 亚洲国产精品电影在线观看| 欧美国产精品人人做人人爱| 在线中文字幕一区| 久久久精品国产99久久精品芒果| 亚洲第一中文字幕| 欧美性事在线| 久久久999| 一本到高清视频免费精品| 久久国产99| 亚洲精品视频在线观看免费| 国产精品麻豆va在线播放| 久久福利影视| 在线视频亚洲欧美| 欧美激情精品久久久久久变态 | 亚洲麻豆一区| 国产精品一区二区久久| 久久亚洲私人国产精品va| 日韩写真在线| 猛干欧美女孩| 亚洲免费中文字幕| 亚洲黄色尤物视频| 国产精品入口福利| 欧美日本一区二区三区| 久久精品国亚洲| 亚洲一区国产视频| 91久久精品一区二区三区| 久久se精品一区精品二区| 艳女tv在线观看国产一区| 又紧又大又爽精品一区二区| 国产精品午夜电影| 欧美另类变人与禽xxxxx| 久久精品视频导航| 亚洲永久免费视频| 日韩视频在线一区| 欧美激情网站在线观看| 蜜桃av久久久亚洲精品| 久久se精品一区二区| 香蕉成人伊视频在线观看| 在线天堂一区av电影| 亚洲精品欧洲|