
C++
文章平均质量分 74
wjh_init
一个正在编程之路上学习的菜鸟
展开
-
Windows下的动态链接 之 DLL简介
Windows下的动态链接DLL简介符号导入导出表DLL优化C++与动态链接DLL HELL小结1.DLL简介DLL 即动态链接库(Dynamic-Link Library)的缩写,它相当于Linux下的共享对象。Window 系统大量采用了这种 DLL 机制,甚至包括 Windows 的内核的结构都很大程度依赖于 DLL 机制。Windows 下的 DLL 文件和 EXE 文...原创 2020-03-11 19:04:15 · 488 阅读 · 0 评论 -
_beginthread, _beginthreadex
语法uintptr_t _beginthread( // NATIVE CODE void( __cdecl *start_address )( void * ), unsigned stack_size, void *arglist);uintptr_t _beginthread( // MANAGED CODE void( __clrcall *start_add...原创 2020-02-03 15:02:15 · 867 阅读 · 0 评论 -
编译和链接
简述本文将从程序源代码到最终可执行文件的4个步骤:预编译、编译、汇编、链接。说明它们的作用和相互之间的联系,IDE集成开发工具和编译器默认的命令通常会将这些步骤合并成一步,使得我们通常很少关注这些步骤。整个编译过程分为两大步:编译:把文本形式的源代码翻译成机器语言,并形成目标文件。链接:把目标文件 操作系统的启动代码和库文件组织起来形成可执行程序。下图给出的是GCC的编译过程分解图:...原创 2019-12-12 15:31:46 · 283 阅读 · 0 评论 -
C++问题汇总
简述本文主要针对一些C++比较偏门的一些问题总结,以下结果都是经过真机测试,环境为VS2015,32位。初始化问题1int *p1 = new int[10]; int *p2 = new int [10] ();结果,不带括号的未任意值。带括号初始化为0。 原因: 在C++primer(第5版)中关于new的讨论有: 1、new当个对象 new在自由空间分配内存,但其...原创 2018-05-14 17:45:03 · 342 阅读 · 0 评论 -
C++内存分配理解一
内存分配一般我们在使用C++来创建一个内置对象或者一个类的时候。一般都没有想过底层是怎样去实现的。本文是根据侯捷的视频进行的一部分总结,只考虑堆上的分配。首先来看一张图 其实根据这张图我们可以去了解到C++基本内存分配规则了。在不考虑OS API的影响下,一切都是基于C语言当中的malloc/free来进行内存的分配和回收的。现在再来进一步看一下各个函数: 接下来在看一下具...原创 2018-06-02 11:39:54 · 3491 阅读 · 0 评论 -
C++内存管理(二)未完待续
简述前面一章大概分开的剖析一下,这章大概讲解一下,一般编程过程中背后的内存原理。现在先来看一张图。 在这里讲一下流程。 1.使用new和delete表达式请求分配内存。 2.编译器会解释表达式为(默认全局的operator new),如果是一个类重载了operator new 或者 operator delete 函数,在new的时候,就会调用自己重载的,但最后都会调用全局的::op...原创 2018-06-19 10:58:57 · 194 阅读 · 0 评论