HowTo:

1) 如何创建和编写静态链接库
2) 如何创建可执行文件
3) 如何创建头文件和cpp文件
4) 如何相对路径寻址
5) 如何进行手动静态库链接
6) 如何编译部分或全部程序

在撰写Libuv源码分析时,感觉有些基础的,通用的背景知识(主要是vc++相关方面的)还是单独列出来,作为一篇bolg吧。


目的:通过模仿Libuv的结构和编译流程,分享一下如何使用vs c++编辑器和编译器,最起码知道如何进行vs c++程序的链接和编译。

按照Libuv的组织架构,将整个程序分成两个部分:

1)  一个简单的类型为静态链接库(.lib)的程序,仅导出一个函数 void sayHelloWorld(); 用于打印出"hello world!"。2)  一个简单的类型为exe程序,链接上面的HelloWorld.lib,并调用其导出的sayHelloWorld()函数。

通过这个简单的例子,让我们来探索一下整个流程和关键点。对于新手来说,请重点关注c/c++的头文件和链接库的相对路径设置是如何设置的!

流程1:

可执行程序(.exe)项目工程


1) 到开你的vistual studio,左侧选择win32,新建一个win32/控制台/空项目

之所以用空项目而不用default设置的预编译头,是为了简单期间,使用预编译头虽然加速头文件编译,但是需要一些规则来支持的,因此简单期间,还是使用空项目,自己手动创建头文件和cpp文件
生成工程目录后,只有一些空的文件夹


2) 创建c/c++入口函数文件main.cpp

3) 打开刚才创建的main.cpp,编写一个main函数,按F5快捷键,至少让你写的c/c++程序运行起来

一个简单的exe程序完成了!


流程2:

静态链接库(.lib)项目工程


1)在sln解决方案中添加一个lib类型项目工程


2) 创建头文件,声明静态链接库要导出的函数原型

3) 创建cpp文件,include刚才声明的头文件,并实现函数原型

4) 编译LibHelloWorld静态链接库

5) 编译生成的目录位置


流程3:

可执行文件链接静态库

1) 在可执行exe项目中如何相对路径寻址

2) 可执行文件链接如静态库,并调试运行,输出结果

到此,一个简单的,包含静态链接库和可执行文件的Demo演示完成了,通过该Demo,可以掌握很关键的一些知识:

1) 如何创建和编写静态链接库
2) 如何创建可执行文件
3) 如何创建头文件和cpp文件
4) 如何相对路径寻址
5) 如何进行手动静态库链接
6) 如何编译部分或全部程序

希望对大家有帮助!

转载于:https://blog.51cto.com/jackyblf/1892191

Visual Studio c++必要的背景知识--链接与编译相关推荐

  1. Visual Studio 更换皮肤和背景图

    [Visual Studio 更换皮肤和背景图]//参考资料在QQ群:683782676(https://www.cnblogs.com/homeym/archive/2015/10/28/Visua ...

  2. Visual Studio 2019 设置透明背景图(傻瓜式教学)

    Visual Studio 2019 设置透明背景图 一.前言 二.设置背景图片的扩展程序 三.编辑主题 一.前言 给大家分享一下,如何为VS2019设置透明背景图.下面是一张设置后的图片. 二.设置 ...

  3. Visual Studio Code 2019 修改背景图片教程

    Visual Studio Code 2019 修改背景图片教程 本人属于写代码不改背景难受的那种人,使用IDEA java开发一年左右后 想丰富个人代码能力被同学推荐使用VScode有的同学也想体验 ...

  4. Visual Studio - 修改代码编辑背景颜色

    Visual Studio - 修改代码编辑背景颜色 1 Item background: Default 2 Item background: Green Tools -> Options - ...

  5. PaddleOCR——Visual Studio 2019 环境下C++推理部署 CMake 编译解决方案

    PaddleOCR--Visual Studio 2019 环境下C++推理部署 CMake 编译解决方案 官方文档 环境配置 Step1: 下载PaddlePaddle C++ 预测库 paddle ...

  6. 看懂《C程序设计(第五版)学习辅导》第16章中介绍的用Visual Studio 2010对C程序进行编辑、编译、连接和运行的方法,并进行以下操作

    看懂<C程序设计(第五版)学习辅导>第16章中介绍的用Visual Studio 2010对C程序进行编辑.编译.连接和运行的方法,并进行以下操作: 点我看视频讲解+可运行代码 记得收藏视 ...

  7. Visual Studio 2022如何设置背景图片以及如何恢复默认背景

    文章目录 ClaudiaIDE 如何安装 方法一 方法二 如何更换背景 如何恢复默认背景 ClaudiaIDE ClaudiaIDE是VS提供的一款可以自定义背景的插件,有了它我们就可以自己更换自己想 ...

  8. Microsoft Visual studio 2022 如何自定义背景(详细) Visual studio 2022 怎么改背景和幻灯片播放(自定义背景)

    一.首先安装好visual studio 2022 1. 打开visual studio 2022 1.新建一个项目,项目名称无所谓 进入编辑页面后,点击拓展>管理拓展>联机 右边搜索框搜 ...

  9. 为Visual Studio更换皮肤和背景图

    最近在博客上别人在老早之前就有加了背景图,想想怎么能这么out,于是乎,百度一下,能否知道? 咳咳,资源还是有滴!可惜都是比较旧的跟新版本的配置方法可能有点不一样, 可能会有很多人会觉得不适应,不过没 ...

最新文章

  1. C++中基类与派生类的构造函数和析构函数
  2. 线程同步 阻塞 异步 非阻塞(转)
  3. 使用YII2 构建一个定时任务
  4. Java垃圾回收(GC)、找垃圾的方式、GC Root、GC停顿、引用、垃圾收集算法、收集器、GC日志、安全点、安全区域
  5. java node websocket_nodejs怎么实现webSocket接口即时通讯服务?
  6. 用人工智能来喂鱼:喂多少智能算法说了算
  7. DOM Element对象 参考手册
  8. spring mvc 中,直接注入的 HttpServletRequst 是否安全呢?
  9. 几种RIA技术(富互联网应用程序)比较
  10. python中的字体英文名,CSS 中文字体的英文名称
  11. springboot使用Log4j动态改变日志级别
  12. python 频谱图_SciPy spectrogram:计算频谱图
  13. 文字记录而已!!人民币直充/兑换PayPal美金
  14. TCP/IP协议之常见的应用层协议——DNS域名系统
  15. javascript原生脚本代码 飘浮广告
  16. 人工智能之我见(1)
  17. raid配置ssd为缓存_固态硬盘做缓存如何设置
  18. 高防IP是如何来防御DDoS攻击的呢?
  19. Ceph Crush-Map与Ceph调优及其日常管理
  20. 如何从基层人员变成一名中层领导

热门文章

  1. Java源码详解二:HashMap源码分析--openjdk java 11源码
  2. OpenGL(glut)模拟太阳系:太阳,地球,月球,火星
  3. Ansible的安装及部署
  4. unicode utf8 转换 php,php实现utf-8转unicode函数分享
  5. java连接mysql数据库增删改查_java连接mysql数据库增删改查操作记录
  6. sentinel安装
  7. 【NIO】异步模型之Callback -- 封装NIO
  8. 如何在vscode运行php代码_如何提高 PHP 代码的质量?
  9. geany配置python_Linux系统下搭建基于Geany+Python开发环境
  10. 走进Java接口测试大门之测试框架TestNG