
Introduce C on windows
SKT allsunday
这个作者很懒,什么都没留下…
展开
-
六、.dll、.bat文件是什么东西
什么是库文件dll,百度百科上是:库文件一般分两种,一种是静态库,另一种是动态库即DLL(Dynamic Link Library)文件,又叫动态链接库文件。静态库和动态库的区别是:静态库在程序的链接阶段被复制到了程序中;动态库在链接阶段没有被复制到程序中,而是程序在运行时由系统动态加载到内存中供程序调用。使用动态库的优点是系统只需载入一次动态库,不同的程序可以得到内存中相同的动态库的副本,因此节省了很多内存,而且使用动态库也便于模块化更新程序。在进行C语言程序的链接过程时,Link会动态的去把dl原创 2020-06-30 09:03:09 · 1302 阅读 · 0 评论 -
五、C语言函数的特殊调用方法
楔子:”就像我们在大学课堂上学的,C语言可以调用,使用起来也很简单。“//test.cppint Five(void){ return 5;}typedef int number_function(void);int Number;number_function *Function;extern "C" int mainCRTStartup(void){ Function = Five; Number = Function(); return 0;}可以看到,我利用type原创 2020-06-29 16:58:21 · 379 阅读 · 0 评论 -
四、浅谈C语言编译器执行过程及函数签名
C语言的编译器只是一个流处理器(Stream processor),它不关心代码是存放在哪里,甚至不看这个代码文件是什么,文件名是什么。它只是做某种自动的检测(auto-detection,不关心),编译器在这个自动检测过程中做的唯一事情就是在自动检测的初始化文件中写到的事情,这个include只是把一个文件逐字逐句的插入来,就像复制粘贴一样,不会去看它什么名字,不管它是.c 还是 .cpp。重写如果先编译main.cpp 就不会报错,因为编译器采用的是c++的编译模式,支持C的;但要是先编译Mai原创 2020-06-29 13:41:25 · 712 阅读 · 0 评论 -
三、计算机如何存储超过一个字节的数值
unsigned short a =500;500转为2进制是1 1111 0100;可见超过1个字节了;可以看到,无符号数a占用了两个字节存储,244是低字节的数值,1是高字节的数值,一般在大端机器上高字节存储在低地址,所以图中244的地址是大于1的。...原创 2020-06-28 15:14:40 · 791 阅读 · 0 评论 -
二、虚拟内存系统
他表示一个字节数,这8位值是从内存底部开始的字节数,从第一段内存一直到决定存储Test变量的位置,所以这个数就是我们在内存中存储Test的地址。1984年时,这个数值是真实机器上的物理地址引用,但在当下,他是一个虚拟内存地址。当下的虚拟内存技术,它是一种允许进程来管理运行的代码,使运行的代码具有交互性。虚拟内存,似乎可以让正在运行代码段去查看机器的内存。但是,虚拟内存是允许给定的一段代码运行来查看哪些是机器的内存,哪些不是机器的实际内存,按照布局,它的工作方式是将内存分割成许多个页。那些页在本质上是一原创 2020-06-27 22:59:46 · 226 阅读 · 0 评论 -
一、浅谈C语言的数据溢出
看国外的技术博主的教学直播,学到的东西都会记录在本次专题。大多都是关于C/C++语言。参与测试的数据类型对象——char unsigned 、int、long1、char unsigned 的表示范围是0~255,占8个bits;char unsigned Test;Test= 255;Test = Test + 1;255会以2进制存储到内存中,FF H,然后+1就成了100 H,那么char unsigned 数据是怎么“ 溢出 ”的呢?首先,在定义Test出设立一个断点,查看反汇编代码原创 2020-06-26 15:34:46 · 870 阅读 · 0 评论