随笔分类 - C/C++
摘要:我们介绍使用 NSIS 进行可执行文件打包的方法。首先需要使用管理员权限打开编辑器 NSISEditer.exe(之前尝试用这个生成,似乎有问题,还是使用 NSIS 启动器中的第二个编辑器生成脚本,用这个编译器编译比较好) 点击“新建向导”,自动创建可视化脚本,修改名称、作者,网站可以清除 修改安装
阅读全文
摘要:Dependencies 是对随 Windows SDK 一起发布 的旧软件 Dependency Walker Dependencies 的重写,但其开发在 2006 年左右停止。可以帮助 Windows 开发人员解决他们的 dll 加载依赖关系问题。 点击上面的链接进入 github 官网,然后
阅读全文
摘要:模块化(modularization): 把程序划分为多个组成部分 通过把程序代码分散到多个文件里,等编译程序时再把那些文件重新组合在一起实现 命名空间(namespace):相比起 C 语言,这是 C++ 里新增加的东西,编写的程序越多,编写的程序越复杂,就越需要使用命名空间 为了防止变量名重复,
阅读全文
摘要:assert 有时需要在一些特定的地方主动报错以避免更大的问题,这时就需要使用 assert 断言 #include <cassert> assert(condition); 如果 condition 为真,则什么都不做;如果 condition 为假,则停止程序 我们需要自己寻找程序中的异常,并进
阅读全文
摘要:# 开头的是编译预处理指令,编译器开始编译之前,编译预处理程序(cpp)会把程序中的名字换成值,这是完全的文本替换 #define <名字> <值> 注意没有结尾的分号,因为不是 C 的语句。名字必须是⼀个单词,值可以是各种东西。 如果一个宏的值中有其他的宏的名字,也是会被替换的 #define P
阅读全文
摘要:g++ 我们简单地展示编译命令的写法,以编译 file.cpp 生成 file.exe 为例 g++ [options] (-std=c++11) file file.cpp options: 选项 作用 选项 作用 -w 关闭警告信息 -I ../include 添加头文件搜索目录( includ
阅读全文
摘要:此部分的主要内容来自:https://blog.csdn.net/ithiker/article/details/87909651 在 catch 的文档指出,对于C++单元测试框架,目前已经有 Google Test, Boost.Test, CppUnit, Cute, 以及其它的一些,那么 c
阅读全文
摘要:基本知识 socket 编程有三种,流式套接字 SOCK_STREAM ,数据报套接字 SOCK_DGRAM ,原始套接字 SOCK_RAW ,前两者较常用。基于 TCP 的 socket 编程是流式套接字。 Socket(套接字):一种应用程序接口 API TCP:建立在 IP 之上,通过握手建立
阅读全文
摘要:Windows 线程是可以执行的代码的实例,系统是以线程为单位调度程序;一个程序当中可以有多个线程,实现多任务的处理。每个线程都具有一个 ID ,每个线程具有自己的内存栈,同一进程中的线程使用同一个地址空间。程序将 CPU 执行时间划分成时间片,一次根据时间片执行不同的线程。 创建线程 线程函数定义
阅读全文
摘要:我们介绍 Windows 和 Ubuntu 下生成和使用库文件的操作。 lib lib 是 Windows 下的静态库,它具有以下特点: 运行不存在 静态库源码被链接到调用程序中 目标程序的归档 静态库是将代码嵌入到使用程序中,多个程序使用时会有多份代码,所以代码体积会增大。动态库的代码只需要存在一
阅读全文

浙公网安备 33010602011771号