c/c++
Jolin93
这个作者很懒,什么都没留下…
展开
-
C语言结构体(struct)详解
基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。第一种:只有结构体定义1. struct stuff{ 2. char job[20]; 3. int age; 4. float hei原创 2017-03-08 18:02:04 · 1786 阅读 · 0 评论 -
C语言结构体字节对齐
文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。 一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访转载 2017-03-08 18:18:17 · 222 阅读 · 0 评论 -
C语言优化技巧
适当的使用宏在 C程序中使用宏代码可以提高程序的执行效率。宏代码本身不是函数,但使用起来像函数。函数调用要使用系统的栈来保存数据,同时 CPU 在函数调用时需要保存和恢复当前的现场,进行进栈和出栈操作,所以函数调用也需要 CPU时间。而宏定义就没有这个问题:宏定义仅仅作为预先写好的代码嵌入到当前程序中,不产生函数调用,所占用的仅仅是一些空间,省去了参数压栈,生成汇编语言的 call 调用,原创 2017-03-07 10:20:43 · 516 阅读 · 0 评论 -
char* 转 LPCWSTR 解决方案
在Windows编程中,经常会碰到字符串之间的转换,char*转LPCWSTR也是其中一个比较常见的转换。下面就列出几种比较常用的转换方法。1、通过 MultiByteToWideChar 函数转换MultiByteToWideChar函数是将多字节转换为宽字节的一个API函数,它的原型如下:int MultiByteToWideCh原创 2017-03-07 10:24:43 · 734 阅读 · 0 评论