1. 程式人生 > >【閱讀筆記】《C程序員 從校園到職場》第六章 配置文件,makefile 文件 (Part 2)

【閱讀筆記】《C程序員 從校園到職場》第六章 配置文件,makefile 文件 (Part 2)

不同 tpc 閱讀 ret ftp 理解 源代碼 exe tst

Contents:

1.配置文件(通常以 ini 結尾)

2.makefile文件 (Linux)

PS: 這篇文章的內容,不太理解。


一、配置文件

本文以一個實際的小軟件為例,介紹了C語言中配置文件的讀取方法和重要的文件操作函數的使用方法,為相關軟件開發項目提供了有益的參考

參考鏈接:讓你提前認識軟件開發(12):配置文件讀取及文件操作

CSDN博客 https://blog.csdn.net/zhouzhaoxiong1227/article/details/23552667

2.4本文中使用的讀取配置操作函數

本文中使用的讀取配置操作函數為GetPrivateProfileInt 和 GetPrivateProfileString,對它們的詳細說明如下:

(1) GetPrivateProfileInt 函數

作用:從配置文件中讀取一個值,並將結果轉換為整型數據後保存到變量中。

原型:UINT GetPrivateProfileInt(LPCTSTR lpAppName, LPCTSTR lpKeyName, INT nDefault, LPCTSTR lpFileName);

各參數的意義:

1) lpAppName:配置文件中的大項,用[]括起來的部分(如2.3節的紅色字體所示)。

2) lpKeyName:各大項下小項的字段名稱,如2.3節中General下的LocalPath。

3) nDefault:如果配置文件中沒有這個配置項,那麽代碼中取的默認值。

4) lpFileName:配置文件名,如本文中的Config.ini。

舉例:如本程序要獲取MsgCount的值,則代碼如下:

int iMsgCount = 0;

iMsgCount = GetPrivateProfileInt("EmployeeInfo", "MsgCount", 0, “Config.ini”);

(2) GetPrivateProfileString 函數

作用:從配置文件中讀取一個值,並將結果轉換為字符串型數據後保存到變量中。

原型:DWORD GetPrivateProfileString(LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpDefault, LPTSTR lpReturnedString, DWORD nSize, LPCTSTR lpFileName);

各參數的意義:

1) lpAppName:配置文件中的大項,用[]括起來的部分(如2.3節的紅色字體所示)。

2) lpKeyName:各大項下小項的字段名稱,如2.3節中General下的LocalPath。

3) lpDefault:如果配置文件中沒有這個配置項,那麽代碼中取的默認值。

4) lpReturnedString:代碼中存放讀取值的字符數組。

5) nSize:一般為lpReturnedString字符數組的大小。

6) lpFileName:配置文件名,如本文中的Config.ini。

舉例:如本程序要獲取FilePrefix的值,則代碼如下:

char szFilePrefix[100] = {0};

GetPrivateProfileString("General", "FilePrefix", "EmployeeInfo", szFilePrefix, 100, strINIFILE);

2.5本文中使用的FTP操作函數

本文中使用的FTP操作函數為GetFtpConnection和PutFile,對它們的詳細說明如下:

(1) GetFtpConnection函數

作用:連接FTP服務器。

原型:CFtpConnection* GetFtpConnection(LPCTSTR pstrServer, LPCTSTR pstrUserName, LPCTSTR pstrPassword, INTERNET_PORT nPort, BOOL bPassive);

各參數的意義:

1) pstrServer:服務名,即FTP服務器的IP地址。

2) pstrUserName:用戶名,即登錄FTP服務器的用戶名。

3) pstrPassword:密碼,即登錄FTP服務器的密碼。

4) nPort:端口號,該參數默認值為INTERNET_INVALID_PORT_NUMBER。

5) bPassive:該項的默認值為FALSE。

(2) PutFile函數

作用:FTP上傳文件。

原型:BOOL PutFile(LPCTSTR pstrLocalFile, LPCTSTR pstrRemoteFile, DWORD dwFlags, DWORD_PTR dwContext);

各參數的意義:

1) pstrLocalFile:帶存放路徑的本地文件名。

2) pstrRemoteFile:帶存放路徑的遠端文件名,即文件存放在FTP服務器的何處。

3) dwFlags:標識,該項取默認值FTP_TRANSFER_TYPE_BINARY。

4) dwContext:上下文標識,該項取默認值1

二、Makefile文件

makefile用於Linux下整個工程的編譯,對於Linux下的C/C++語言的編譯是至關重要的。

本文以實際的C源程序為例子,介紹如何使用makefile來編譯Linux下的C語言工程,為相關開發工作的開展提供了參考。

【關鍵詞】

makefile C語言 Linux 編譯 開發

1、什麽是makefile?

makefile是什麽?如果你寫的程序只是在Windows下運行,那麽很有可能不知道有這個玩意兒。而如果你要在Linux下編譯並運行程序,那麽你幾乎不可避免地要和makefile打交道。

makefile是一個文件,裏面定義了一系列的規則來指定一個工程中的哪些文件需要先編譯,哪些文件需要後編譯,哪些文件需要重新編譯,甚至進行更為復雜的功能操作。簡單點說,makefile就是Linux下的一個編譯調度器。

2、makefile的語法規則

既然是一個編譯調度器,那麽它就會有自己的一套規則。makefile的規則如下:

target ... : prerequisites ...

command

說明:

(1) target就是一個目標文件,也就是在這個步驟中,我們想要輸出的文件名(可以包括後綴)。

(2) prerequisites是要生成那個target所需要的文件,相當於在Windows工程下我們要得到exe文件所需要的源代碼文件。

(3) command是make需要執行的命令,也就是如何利用prerequisites來生成target。註意,command行要以TAB鍵開頭。

3-5、以一個實際的Linux下的C程序工程(將一個字符串中的小寫字母轉換成大寫字母)為例,介紹makefile的編寫方法及用法。

參考:讓你提前認識軟件開發(17):makefile文件的書寫及應用

CSDN博客 https://blog.csdn.net/zhouzhaoxiong1227/article/details/24812071

6、總結

本文對makefile文件的語法規則進行了介紹,並用一個實際的C程序工程來說明了它的用法。

在編寫和使用makefile文件的過程中,我們要註意以下問題:

(1) 要牢記makefile的語法,將不同程序文件的依賴關系理清楚。

(2) 命令(command)行一定要以TAB鍵開頭,不要誤寫成了空格。

(3) 在makefile文件的最後,要將沒有用的中間文件(如本例中的.o文件)清理掉。

(4) 對於make命令中出現的錯誤或警告,一定要盡量修改。

【閱讀筆記】《C程序員 從校園到職場》第六章 配置文件,makefile 文件 (Part 2)