
C++基础
岁月如墨
同行皆狼狈,余独不觉
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
_stdcall详解
在C语言中,假设我们有这样的一个函数:intfunction(inta,intb)调用时只要用result=function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者和函数本身来协调。为此,计算机提供了一种被称为栈的数据结构来支持参数传递。栈是一种...转载 2020-12-30 14:48:23 · 1195 阅读 · 0 评论 -
无法定位程序输入点ucrtbase.terminate有感
背景:公司又一个很NB的客户,用本公司的软件又不想安装vc库,又要用来宾账户执行,刚收到这个消息,我是很气愤的…… 软件是用VS2015开发。解决客户方法:一、静态编译:此方法可以满足客户的不想安装需求,但软件相对来说比较大一些,各种外部调用的dll和exe多达20个左右,而且部分dll还无源码,排除…二、将依赖的vc库加载进去:1.可以使用工具Depends原创 2017-12-19 16:52:44 · 7049 阅读 · 2 评论 -
Java和C++ Protect安全性
结论:Java的Protect安全性要比C++安全性低Java:继承类可以直接访问基类的保护成员,如果对类的实现进行修改,是可以直接访问基类的保护成员,这就影响到数据封装了;C++:不能对继承类的实现直接访问基类的保护成员;原创 2017-11-18 21:52:51 · 585 阅读 · 0 评论 -
程序异常自动生成DMP文件
随着软件的发展,有时候在客户机器上会遇到各种奇形怪状的问题,如果崩溃能够必现,倒还好调试一些,就怕隔三差五的来给你崩溃下;所以,需要对客户每次崩溃的情况有所了解,可以让程序自动生成异常的dmp;本人已经上传了一个MiniBug.dll,下载地址:http://download.youkuaiyun.com/detail/zhlstud/9866471可供直接调用, 调用代码原创 2017-06-10 11:05:37 · 4344 阅读 · 0 评论 -
一道有趣的求符号字符的长度
int _tmain(int argc, _TCHAR* argv[]){signed char a[1001] = { 0 };int i;for (int i = 0; i {a[i] = -1 - i;}cout getchar();return 0;}最后的结果是255。。翻译 2017-05-07 22:28:29 · 1723 阅读 · 0 评论 -
POD数据了解
Plain old data (普通旧的数据);POD 是Plain Old Data的簡寫,是指一些系統的int, char, float、指標、array之類的資料型別,這應該蠻好想像的,就是C++ compiler提供的內建型別,比較特別的是類別與結構,如果類別和結構帶有trivial constructor,也是POD的一種class vector3D{原创 2017-05-07 11:06:42 · 706 阅读 · 0 评论 -
看到一个理解进程和线程的故事
假如你有一家工厂(工厂就是电脑CPU),工厂里面有多个车间(车间就是进程);由于工厂接单太少,只要运行一个车间(单进程执行任务);就能完成任务,车间里面有N个工人(工人就是线程)在工作 ;每个人都在做钢化膜,做好之后都要到洗手间水龙头去冲洗一下,洗手间就是整个车间的共享内存空间 ;但水龙头只有一个,所以在一个人工人在冲洗的时候,另一个工人是不允许冲洗的,这代表一个线程使用某些共享内原创 2017-05-07 10:33:13 · 497 阅读 · 0 评论 -
虚析构函数的用处
问:虚析构函数的作用是什么?答:用基类指针删除派生类的对象时,让派生类的析构函数可以被调用;答案涉及到几个重要信息:第一:基类指针,也就是说声明的指针必须是基类或者是还有派生类的派生类,或者说一定不是最底层派生类;第二:派生类的对象,生成的对象一定要是派生类的对象,如果new的对象本身就是声明的类,那也没必要用虚析构,浪费空间;第三:派生类析构函数,只要满足前面两个条件信息,基原创 2017-04-22 23:15:14 · 532 阅读 · 0 评论 -
strcpy函数的实现
最近面试到一些基本的问题这里做个基本的测试,还真发现了小问题 面试问题是:不适用库函数实现strcpy(char* dst,char* src); char * str = "abdda1234123"; char * str2; int i = 0; i = strlen(str); str2 = new char[i + 1]; char *tmp = str2; //st原创 2017-04-21 14:17:27 · 264 阅读 · 0 评论 -
对结构体的sizeof解答
sizeof是一个关键字,用来计算类型的大小,如int占用4个字节等....主要有两个注意的方面:一:字节对齐从结构体的第一个变量开始讲究对齐,以字节为单位;二:字节对齐要满足3个准则:a.结构体的第一个变量能够被最宽的基本类型成员的大小所整除;b.结构体每个成员相对于结构体首地址的偏移量都是当前成员大小的整数倍;不够在后面填充;c.结构体的总大小一定要是最宽基本类型的原创 2017-04-21 15:33:14 · 563 阅读 · 0 评论