本文试图以比较简洁的方式创建lib:

只求能够把lib用起来,并不会加上【很多但必须的东西,比如我们之前说过的#ifndef #define 和#endif】

打开vs

创建一个新的项目:

点击确定

然后添加 -> 新建项

这个名称很关键: main.c

Main.c的内容:

int myMultiple(int a, int b){
return a*b;
}

/*

这是因为如果使用,main.cpp的话,这个文件就会以cpp的形式编译,这样的话,还要有另外的语法extern格式来限定。所以我们在创建的时候倒不如直接写main.c。这样省一步事儿。

C语言可以操作很多东西,很多人用它来写操作系统,这是因为 C语言可以直接操作硬件,对于很多上层语言来说,他们理论上不具有 这样的能力,或者即使有,也很复杂,写起来很麻烦,所以 C语言在一定程度上用来专门书写这种静态库文件lib和 动态库文件dll。

所以这里想说的是就写main.c 就可以啦!!!

非要写main.cpp的话,要这样包一层:

    extern "C" //在C++语言当中,extern "C"告诉编译器,用C语言的方式编译这个函数
{
   int myMultiple(int a, int b){
   return a*b;
   }
}

*/

然后去 项目->属性->配置属性->配饰类型   修改成 静态库(.lib.)

然后新建一个项目showLib_Use,来使用这个 lib。

添加-> 新建项

这个时候 注意 先用main.c 创建

然后生成

Main.c 的内容:

#include <stdio.h>
#pragma comment(lib,"showLib.lib")
int myMultiple(int, int);
int main(){
printf("lifei\n");
printf("%d", myMultiple(, ));
getchar();
return ;
}

在此之前需要先把 showLib.lib放到静态时候要在编译时候使用它的文件目录下面。

看了我的几个例程发现我都只是用.c文件实现了 lib的加载 然后 用 .cpp 文件和.c实现了 dll的加载。

//苦恼中。。。求高玩帮忙解答下

C语言创建并使用lib的更多相关文章

  1. C语言创建并使用dll

    利用C语言创建 利用 C++使用: 参见前面  利用C语言创建并使用lib 如法炮制创建 showDll Dll代码 __declspec(dllexport) double myDivision(i ...

  2. C语言创建共享库(动态库)步骤

    C语言创建共享库(动态库)步骤: 创建sth.c,共享库源文件: //sth.c库源程序 unsigned long long sth(unsigned int x, unsigned int y) ...

  3. Visual Studio命令行创建库文件lib

    Visual Studio命令行创建库文件lib OS:win7 旗舰版SP1 64位 编译器: VS 2013 express 的cl 建一个文件Static_Lib.h,源代码如下 #ifndef ...

  4. 用c语言创建双向环形链表

    作为一个C开发人员,无论在求职笔试题中,还是在工程项目中,都会遇到用c语言创建双向环形链表.这个也是理解和使用c指针的一项基本功. #include<...>//头文件省略 typedef ...

  5. C语言创建文件夹

    问题需求:在程序中需要使用文件夹时,一般可以先在程序目录或某一路径下创建一个文件夹,然后使用该文件夹. 这种方法比较麻烦,需提前创建文件夹. 使用C语言创建文件夹的代码可以如下: #include & ...

  6. c语言创建dll以及使用

    0x01. declspec(dllexport)创建导出dll 笔者这边使用vs 2015,但是性质都一样的 新建项目 -> Win32控制台应用程序 -> dll 这时候就创建了一个项 ...

  7. C语言创建及解析Json的使用法则

    参考原文:http://blog.csdn.net/xukai871105/article/details/33013455 JSON(JavaScriptObject Notation)是一种轻量级 ...

  8. C语言创建链表

    一.链表中结点的存储 链表的结点左边一部分是存放的数据,右边一部分是后继指针指向下一个结点的地址.C语言中通常定义一个结构体类型来存储一个结点,如下: struct node { int data; ...

  9. Visual Studio 2019 使用C语言创建动态链接库(Dll)并使用C语言和C#实现调用

    参考网址:https://blog.csdn.net/weixin_34976988/article/details/99625533 一.创建DLL1.建立动态链接库项目 2.创建头文件和源文件 删 ...

随机推荐

  1. SQL中的CASE WHEN用法

    其语法如下: 1)case vlaue when [compare-value]then reslut [when[compare-value]] then result ...] [else res ...

  2. Windows mysql 5.6 zip 安装 并创建用户赋予数据库权限

    1.下载mysql 5.6 zip 首先下载mysql 5.6 zip (在官网(http://www.mysql.com/downloads/) 或者其他网站都行), 然后解压在自己的电脑上 D:\ ...

  3. 判断A树是否包含B树结构

    题目:输入两棵二叉树A和B,判断B是不是A的子结构 分析:根据数的遍历方法,首先想到的是采用递归的方式要更简单些,树A从根节点进行遍历,首先判断与B的根节点值是否相等,如果相等则进行递归遍历验证,否则 ...

  4. HDU2015校赛 The Magic Tower

    题意:两行分别是W和B的生命值,攻击值,防御值. 如果W先,W的攻击值-B的防御值大于零则B生命值减去这么多,然后该B攻击.直到谁的生命值先小与等于零则攻击的人赢. 输出写错了..... 错误代码 # ...

  5. Magento 前台的logo更改

    进入后台: 系统-配置, 然后选择左栏的“设计”, 选择右栏的“页眉”里面, 一般logo的路径在: skin/frontend/base/default/images/media/logo.png ...

  6. Ubuntu安装JDK1.6

    1.下载JDK 网址: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-4 ...

  7. [读书笔记]了不起的node.js(三)

    这周的nodejs学习内容为几个依赖包的使用,把书上的例子都敲了一遍.这篇就以例程为线索,复习一下一周的工作. 1.connect 这个例程主要是使用connect依赖包,connect提供一个中间件 ...

  8. Django model中 双向关联问题,求帮助

    Django model中 双向关联问题,求帮助 - 开源中国社区 Django model中 双向关联问题,求帮助

  9. Java HashMap 源码解析

    今天正式开始分析具体集合类的代码,首先以既熟悉又陌生的HashMap开始. 签名(signature) public class HashMap<K,V> extends Abstract ...

  10. 第九章、文件与文件系统的压缩与打包 Linux 系统常见的压缩命令

    Linux 系统常见的压缩命令: 在Linux中,压缩文件的扩展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2』 Linux 支持的压缩命令非常多,且不同 ...