Visual Studio c++必要的背景知识--链接与编译
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++必要的背景知识--链接与编译相关推荐
- Visual Studio 更换皮肤和背景图
[Visual Studio 更换皮肤和背景图]//参考资料在QQ群:683782676(https://www.cnblogs.com/homeym/archive/2015/10/28/Visua ...
- Visual Studio 2019 设置透明背景图(傻瓜式教学)
Visual Studio 2019 设置透明背景图 一.前言 二.设置背景图片的扩展程序 三.编辑主题 一.前言 给大家分享一下,如何为VS2019设置透明背景图.下面是一张设置后的图片. 二.设置 ...
- Visual Studio Code 2019 修改背景图片教程
Visual Studio Code 2019 修改背景图片教程 本人属于写代码不改背景难受的那种人,使用IDEA java开发一年左右后 想丰富个人代码能力被同学推荐使用VScode有的同学也想体验 ...
- Visual Studio - 修改代码编辑背景颜色
Visual Studio - 修改代码编辑背景颜色 1 Item background: Default 2 Item background: Green Tools -> Options - ...
- PaddleOCR——Visual Studio 2019 环境下C++推理部署 CMake 编译解决方案
PaddleOCR--Visual Studio 2019 环境下C++推理部署 CMake 编译解决方案 官方文档 环境配置 Step1: 下载PaddlePaddle C++ 预测库 paddle ...
- 看懂《C程序设计(第五版)学习辅导》第16章中介绍的用Visual Studio 2010对C程序进行编辑、编译、连接和运行的方法,并进行以下操作
看懂<C程序设计(第五版)学习辅导>第16章中介绍的用Visual Studio 2010对C程序进行编辑.编译.连接和运行的方法,并进行以下操作: 点我看视频讲解+可运行代码 记得收藏视 ...
- Visual Studio 2022如何设置背景图片以及如何恢复默认背景
文章目录 ClaudiaIDE 如何安装 方法一 方法二 如何更换背景 如何恢复默认背景 ClaudiaIDE ClaudiaIDE是VS提供的一款可以自定义背景的插件,有了它我们就可以自己更换自己想 ...
- Microsoft Visual studio 2022 如何自定义背景(详细) Visual studio 2022 怎么改背景和幻灯片播放(自定义背景)
一.首先安装好visual studio 2022 1. 打开visual studio 2022 1.新建一个项目,项目名称无所谓 进入编辑页面后,点击拓展>管理拓展>联机 右边搜索框搜 ...
- 为Visual Studio更换皮肤和背景图
最近在博客上别人在老早之前就有加了背景图,想想怎么能这么out,于是乎,百度一下,能否知道? 咳咳,资源还是有滴!可惜都是比较旧的跟新版本的配置方法可能有点不一样, 可能会有很多人会觉得不适应,不过没 ...
最新文章
- C++中基类与派生类的构造函数和析构函数
- 线程同步 阻塞 异步 非阻塞(转)
- 使用YII2 构建一个定时任务
- Java垃圾回收(GC)、找垃圾的方式、GC Root、GC停顿、引用、垃圾收集算法、收集器、GC日志、安全点、安全区域
- java node websocket_nodejs怎么实现webSocket接口即时通讯服务?
- 用人工智能来喂鱼:喂多少智能算法说了算
- DOM Element对象 参考手册
- spring mvc 中,直接注入的 HttpServletRequst 是否安全呢?
- 几种RIA技术(富互联网应用程序)比较
- python中的字体英文名,CSS 中文字体的英文名称
- springboot使用Log4j动态改变日志级别
- python 频谱图_SciPy spectrogram:计算频谱图
- 文字记录而已!!人民币直充/兑换PayPal美金
- TCP/IP协议之常见的应用层协议——DNS域名系统
- javascript原生脚本代码 飘浮广告
- 人工智能之我见(1)
- raid配置ssd为缓存_固态硬盘做缓存如何设置
- 高防IP是如何来防御DDoS攻击的呢?
- Ceph Crush-Map与Ceph调优及其日常管理
- 如何从基层人员变成一名中层领导
热门文章
- Java源码详解二:HashMap源码分析--openjdk java 11源码
- OpenGL(glut)模拟太阳系:太阳,地球,月球,火星
- Ansible的安装及部署
- unicode utf8 转换 php,php实现utf-8转unicode函数分享
- java连接mysql数据库增删改查_java连接mysql数据库增删改查操作记录
- sentinel安装
- 【NIO】异步模型之Callback -- 封装NIO
- 如何在vscode运行php代码_如何提高 PHP 代码的质量?
- geany配置python_Linux系统下搭建基于Geany+Python开发环境
- 走进Java接口测试大门之测试框架TestNG