zoukankan      html  css  js  c++  java
  • 【阅读笔记】《C程序员 从校园到职场》第六章 配置文件,makefile 文件 (Part 2)

     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命令中出现的错误或警告,一定要尽量修改。

  • 相关阅读:
    JS的匿名函数和递归应用
    sql server中分布式查询随笔
    Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句梳理
    db2相关问题及解决方法
    DB2命令大全
    作用域和作用域链浅解析
    css居中的几个实现方法
    选择排序
    ... 语法记录
    call() 与 apply() 和 bind()
  • 原文地址:https://www.cnblogs.com/hhxxgdd/p/8973874.html
Copyright © 2011-2022 走看看