目录

  • 封装静态库

封装静态库

假设我们要将该函数封装成一个静态库

这是它的头文件

.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参数,其中包含您希望链接器搜索的库的名称(可能还有路径)。由于库名位于目标文件中默认库搜索记录的前面,所以链接器搜索这个库就像您在命令行中命名它一样。您可以在同一个源文件中放置多个图书馆搜索记录;每条记录出现在目标文件中的顺序与它在源文件中遇到的顺序相同。

在vs2017上如何创建一个静态库相关推荐

  1. 一个静态库框架模板: iOS Universal Framework Mk 7

    项目地址: https://github.com/kstenerud/iOS-Universal-Framework 这是一个Xcode 4使用的项目模板,而不是一个新的开源框架. 这是项目主页,介绍 ...

  2. iOS:Xcode7下创建 .a静态库 和 .framework静态库

    Xcode7 中创建静态库:.a 和 .framework 一.简单介绍 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的分类 根据源代码的公开情况,库可以分为2种类型 (1)开 ...

  3. XCode 创建:静态库 动态库 Framework

    目录 使用 XCode 创建 .a 格式的静态库 使用 XCode 创建 .framework 格式的静态库 使用 XCode 创建 .dylib 格式的动态库 使用 XCode 创建 .framew ...

  4. 在Linux平台上如何使用接静态库和共享库

    1.Linux函数库介绍 函数库可以看做是事先编写的函数集合,它可以与主函数分离,从而增加程序开发的复用性.Linux中函数库可以有3种使用的形式:静态.共享和动态. 1)         静态库的代 ...

  5. nodejs 创建一个静态资源服务器 +路由

    0.补充 1.Node.js 创建的第一个应用 1.引入 http 模块 var http = require("http"); 2.创建服务器 接下来我们使用 http.crea ...

  6. c语言标准函数库怎么建立教程,C语言入门教程-创建一个函数库

    描述 创建一个函数库 上述程序中的rand和bubble_sort函数很实用,很可能在您写其他程序时也能派上用场.为了能更方便地重复使用,您可以为它们创建一个实用工具函数库. 所有的函数库都包括两部分 ...

  7. 优雅的创建一个JavaScript库

    这篇文章的目的是通过演示一个简单的例子来介绍在JS中实例化和定义一个库的正确方法,以优化他人编写或维护自己的JS库. 在我们深入之前,我做了两点假设: 你知道简单的JavaScript或C语言. 你不 ...

  8. Git教程——如何创建一个版本库(Repository)

    文章目录 1.创建版本库 (init) 2.添加文件管理 (add) 3.提交改变 (commit) 4.流程图 1.创建版本库 (init) 我们先要确定要把哪个文件夹里的文件进行管理. 比如说我桌 ...

  9. iOS创建framework静态库(SDK组件化)

    一.创建 1.新建项目 打开Xcode,菜单:File – New – Project-,选择iOS – Framework – Next,取名比如MySDK,保存. 2.修改Schemes 菜单 P ...

最新文章

  1. c语言调用linux脚本,C语言执行shellcode的五种方法
  2. antd option宽度自适应_建议收藏:Axure手机自适应教程
  3. android app逆向分析,如何开始对Android应用的逆向分析?
  4. 【转】数据库设计:物理结构设计
  5. Java系列之XML
  6. 23-windows下filebeat与logstash与elasticSearch的合并使用
  7. .net byte转java byte_Java 最小值之谜
  8. IDEA中注释代码,注释符如何不显示在行首
  9. live555学习笔记-RTSP服务运作
  10. 个人知识管理能解决什么问题?
  11. nodejs之路-[0]安装及简易配置
  12. 孙正义:一个有远见的赌徒
  13. 在win10pe中集成virtio驱动
  14. win8关机快捷键_win8系统电脑使用技巧的详细介绍--win7w.com
  15. 从java9共享内存加载modules说起
  16. 学习unity2d的计划安排
  17. The error may exist in /com/bjpowernode/dao/StudentDao.xml ### Cause: org.apache.ibatis.builder.Buil
  18. 单个正态总体参数的区间估计、两个正态总体参数的区间估计 Matlab实现
  19. iPhone帮帮忙(全彩)
  20. Python画各种爱心

热门文章

  1. 混音师的混音之道|公开我学习混音的方法,真正的捷径|MZD Studios
  2. AD142A0芯片程序空间资源空间分布的总结
  3. Pandas学习笔记(一)
  4. Vue packages version mismatch: - vue@2.6.11 vue-template-compiler@2.6.10 的解决办法
  5. python多光谱遥感数据处理、图像分类、定量评估及机器学习方法
  6. androidstudio安装的app打开闪退,AndroidManifest中也声明了类,但是却没有报错信息。(小坑)
  7. 禅意设计:网络简洁设计的缘起和未来
  8. [Android Pro] 将你的安卓手机屏幕共享到PC或Mac上
  9. Apache rewrite URL静态化配置与参数详解
  10. 盗取QQ密码的顽固的IEXPLORE.EXE病毒