目录
封装静态库
假设我们要将该函数封装成一个静态库
这是它的头文件
.h文件
#pragma once
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int isPalindrome(int x);
首先把功能先实现好了
.c文件
#include"func.h"
int isPalindrome(int x) {
if (x == 0)
{
return 0;
}
int ret = 0;
int tmp = x;
while (x)
{
if (ret < INT_MIN / 10 || ret > INT_MAX / 10)
{
return 0;
}
/* 逆置数字 */
int dight = x % 10;
x /= 10;
ret = ret * 10 + dight;
}
if (ret == tmp)
{
return 1;
}
return 0;
}
需要将他的头文件和.c文件放到一个工程中去
这时候右击项目名称点击属性,因为需要更改它的配置
进入属性页以后找到常规,更改目标文件扩展名为lib(表示这是一个静态库文件),再找到项目默认值,点击配置类型,如果你的配置类型是exe的话就将他换成lib
当完成以上的步骤后,只需要点击应用确定就可以,回到我们的工程,再ctrl + F5运行,此时窗口回弹出这样的警告,请确认一下,如果你的屏幕面前也是一样的,那么恭喜你以上过程都做完了,
右击自己的.c文件,打开文件夹
可以在Debug模式下看到所生成的.lib文件,这个就是生成的静态库
最后你只需要再创建一个空项目,
打开新创建项目的文件所属路径,将func.c和func.h给拷贝进来就行
最后将func.h头文件包含在main函数中 #include"func.h"
这样子程序就可以运行了,往后如果懒得写代码,可以自己封装成一个静态库,想要用的时候导入就行了,
#pragma comment(lib,"func.lib")
主要介绍一下comment 这个函数
#pragma comment( comment-type [, commentstring] )
第一个参数表示注释类型,第二个参数表示字符串字面值(静态库的名称)
将注释记录放入目标文件或可执行文件中。注释类型是指定注释记录类型的五个预定义标识符之一,如下所述。可选的commentstring是一个字符串字面值,它为一些注释类型提供额外的信息。因为commentstring是一个字符串字面值,所以它遵守关于转义字符、内嵌引号(")和连接的字符串字面值的所有规则
在目标文件中放置库搜索记录。这个注释类型必须附带一个commentstring参数,其中包含您希望链接器搜索的库的名称(可能还有路径)。由于库名位于目标文件中默认库搜索记录的前面,所以链接器搜索这个库就像您在命令行中命名它一样。您可以在同一个源文件中放置多个图书馆搜索记录;每条记录出现在目标文件中的顺序与它在源文件中遇到的顺序相同。