- 博客(4)
- 资源 (7)
- 收藏
- 关注
原创 Linux下C的内存对齐
关于结构体内存对齐(在没有#pragma pack宏的情况下) :•原则1、数据成员对齐规则:结构(struct或联合union)的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储)。•原则2、结构体作为成员:如果一个结构里有某些结构体成员,则结构体成员要从其内部最大元素大小的整数倍地址开始存储。(struct a里存有struct b,b里有char,int,double等元素,那b
2016-02-29 12:43:51 3982
原创 linux C宏定义实现打印调试信息
本文仅实现了三种宏定义调试 #define LOG(s) 日志显示(文件名:行号}+日志信息 #define ERROR(s) 错误信息位置(级别+文件名+函数名+行号+错误信息) #define PrintArray2D(arr,m,n)
2016-02-28 13:56:44 5641 1
原创 linux下静态库编译使用复杂版
通常情况下,由于主函数文件main.cpp要调用多个头文件,所以编译时比较复杂,比如需要使用类似makefile文件,那么,此时的想法是将其他算法函数生成到一个静态库文件,引用该库文件头即可代码:add.cpp#include "add.h"int add(int a, int b){ return a + b;}add.h#ifndef _ADD_H#def
2016-02-28 10:54:51 591
原创 linux下简单编译与静态库编译使用
库函数,那么一般来说库函数分为两种方式:静态库和动态库。两者的区别其实很小,静态库是必须要链接到执行文件中去的,而动态库是不需要链接到最后的执行文件中的。怎么理解呢?也就是说,对于最后的执行文件而言,你是否删除静态库无所谓。但是,一旦你删除了动态库,最后的执行文件就玩不转了。 这里使用平时的方法和静态库方法进行简单的测试,代码 add.cpp
2016-02-28 10:13:50 934 2
UNP学习笔记讲义
2019-04-29
Qt五子棋程序源码
2018-11-08
msp430F149 12864并行(已测忙).txt
2014-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人