1、其實高階語言和面向過程的語言最求的目標都是一致的,高可復用性,另外,封裝性。我發現自己在寫c語言的時候,總是不自覺地就引入了高階語言的一些封裝性的思想(如以下**段1所示),而我的同學卻總是按著最原始的方式對函式進行命名。學過編譯原理的同學就會知道,最原始的c++編譯器其實就是將c++轉化成c語言,然後用c語言的編譯器進行實現的。c++中的類轉化成c語言,其實總體的思想就是在函式名上多新增了乙個類名,在函式簽名上有一些新增資訊協助編譯器翻譯成c語言。**段1的好處就是裡面的函式跟別的c函式庫中的函式不容易重合,另外,通過命名提醒呼叫者這些函式是一類的東西。
1#ifndef __i2c_h__
2#define __i2c_h__34
//*****===函式區****************************************====
5extern
void i2c_start(); //
開始訊號
6extern
void i2c_stop(); //停止7
extern
void i2c_respons(); //應答8
extern
void i2c_write_byte(unsigned char
date);
9extern unsigned char
i2c_read_byte();
10extern
void i2c_write_address(unsigned char address,unsigned char
date);
11extern unsigned char i2c_read_address(unsigned char
address);
12//
*****===函式區結束****************************************====
13#endif
**段1 加上字首的c函式
1extern
bit ack;2//
起動匯流排函式
3extern
void
start_();4//
結束匯流排函式
5extern
void
stop_();6//
應答子函式
7extern
void
ack_(bit a);8//
位元組資料傳送函式
9extern
void sendbyte(unsigned char
c);10
//有子位址傳送多位元組資料函式
11extern bit isendstr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char
no) ;
12//
無子位址傳送多位元組資料函式
13extern bit isendstrext(unsigned char sla,unsigned char *s,unsigned char
no);
14//
無子位址讀位元組資料函式
15extern unsigned char rcvbyte();
**段2 沒加上字首的c函式
關於程式設計的一些思考
1 其實高階語言和面向過程的語言最求的目標都是一致的,高可復用性,另外,封裝性。我發現自己在寫c語言的時候,總是不自覺地就引入了高階語言的一些封裝性的思想 如以下 段1所示 而我的同學卻總是按著最原始的方式對函式進行命名。學過編譯原理的同學就會知道,最原始的c 編譯器其實就是將c 轉化成c語言,然後...
程式設計的一些思考
以後對程式設計的一些感觸,再次彙總總結,不斷迭代完善。b 如何衡量乙個產品或需求的價值?b 能幫助多少人,能幫助多大的忙 能持續幫助多長時間 b 如何衡量乙個產品設計的好壞?b 隨著產品的發展,增加乙個需求需要的時間越來越少,反之要重新設計了!b 為什麼設計比較難?b 總被忽略糊弄過去,沒有配套制度...
網路程式設計 一些思考
1.在學習網路程式設計的時候,我通過網上的了解,買了不少書,但是在學習的過程中,仍有不少的困惑!我買了以下書籍 unix網路程式設計,卷一 unix網路程式設計,卷二 c 網路程式設計 基於ace框架復用 2.由於我總不能憑空去捏造一些框架,我開始閱讀,一些現有的,網路服務程式的 希望能夠從中獲得靈...