關於程式設計的一些思考

2021-09-06 10:19:53 字數 1694 閱讀 5329

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函式

1

extern

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.由於我總不能憑空去捏造一些框架,我開始閱讀,一些現有的,網路服務程式的 希望能夠從中獲得靈...