本文试图以比较简洁的方式创建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. DB面试题

    1.如何让SELECT 查询结果额外增加自动递增序号 select * from ( select a.姓名, a.成绩, (select count(id) from 表 where 成绩>= ...

  2. Selenium-Python学习——通过XPath定位元素

    用Xpath定位元素的方法总是记不住,经常要翻出各种文档链接参考,干脆把需要用到的内容整到这个笔记中方便查找. Xpath是在XML文档中定位节点的语言.使用 XPath 的主要原因之一是当想要查找的 ...

  3. QT中使用 slot 传递 opencv 中得Mat对象以及 使用多线程集成开源代码。

    关于 slot传递 Mat 对象 以前一直是使用 Qtimer 定时器,设定超时后读取 dialog 对象的 Mat成员实现在 UI 里显示图像,发现这样对以后集成其他面向过程的代码增加了复杂度. 所 ...

  4. 高质量、处于持续更新的R包

    本文在Creative Commons许可证下发布 自由软件的问题是开发人员没有稳定的资金来源支持,可能更新上做不到持续.经过考证和圈内朋友的帮助,现在把R包中高质量.持续更新的跟大数据事业相关的R包 ...

  5. [转载]su认证失败

    Ubuntu 安装后,root用户默认是被锁定了的,不允许登录,也不允许 "su" 到 root.有人说这是个不好的实践,特别是对于服务器来说.我觉得对于桌面用户来说,这样安全性更 ...

  6. win10+vs2013+Qt5.4 安装方法

    环境:win10 cn_visual_studio_ultimate_2013_x86_dvd_3009109 qt-opensource-windows-x86-msvc2013_64_opengl ...

  7. android NDK 实用学习(一)-获取java端类及其类变量

    近期为android 端项目包装一些c++代码,故学习ndk相关知识,现总结如下: 1,java与c++类型参照图: 2,此测试中使用的java类: package com.dasea.test.co ...

  8. Spark系列(四)整体架构分析

    架构流程图 说明  Driver端流程说明(Standalone模式) 使用spark-submit提交Spark应用程序Application. 通过反射的方式创建和构造一个DriverActor进 ...

  9. leetcode@ [129] Sum Root to Leaf Numbers (DFS)

    https://leetcode.com/problems/sum-root-to-leaf-numbers/ Given a binary tree containing digits from 0 ...

  10. Getty – Java NIO 框架设计与实现

    前言 Getty是我为了学习 Java NIO 所写的一个 NIO 框架,实现过程中参考了 Netty 的设计,同时使用 Groovy 来实现.虽然只是玩具,但是麻雀虽小,五脏俱全,在实现过程中,不仅 ...