
数码相框
Alen.Wang
智能机器人硕士,擅长复杂电路设计、嵌入式软件编程及系统架构设计,从事嵌入式AI开发工作,有多年项目开发经验。
我的联系邮箱 alen_wp@163.com
展开
-
gcc -I -L -l区别
我们用gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录:例子1:gcc -o example1 example1.c -I /usr/local/include/freetype2 -lfreetype -lm上面这句话在编译example1.c 时,-I /usr/local/include/freetype2 表示将/原创 2017-02-28 16:12:11 · 435 阅读 · 0 评论 -
#pragma pack 在BITMAP结构体定义中的使用
BITMAP位图文件主要分为如下3个部分:块名称对应Windows结构体定义大小(Byte)文件信息头BITMAPFILEHEADER14位图信息头BITMAPINFOHEADER40RGB颜色阵列BYTE*由图像长宽尺寸决定定义BITMAP 文件信原创 2017-05-03 20:39:09 · 627 阅读 · 0 评论 -
getenv、setenv函数(获取和设置系统环境变量) 与 环境变量
1、getenv()函数名: getenv功 能: 从环境中取字符串,获取环境变量的值头文件: stdlib.h用 法:char *getenv(char *envvar);函数说明:getenv()用来取得参数envvar环境变量的内容。参数envvar为环境变量的名称,如果该变量存在则会返回指向该内容的指针。环境变量的格式为envvar=value。原创 2017-05-25 19:57:51 · 19147 阅读 · 0 评论 -
什么是C语言结构体字节对齐,为什么要对齐?
一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的地址不是自然对齐,比如为0x00000002,则CPU如果取转载 2016-06-13 18:48:03 · 6495 阅读 · 0 评论 -
指针空间的申请与释放
隐蔽的内存泄漏内存泄漏主要有以下几种情况:内存分配未成功,却使用了它。内存分配虽然成功,但是尚未初始化就引用它。内存分配成功并且已经初始化,但操作越过了内存的边界。忘记了释放内存,造成内存泄露。释放了内存却继续使用它。对动态内存的错误观念有人对某一只在函数内使用的指针动态分配了内存,用完后不释放。其理由是:函数运行结束后,函数内的所有变量全部消亡。这是错误的原创 2017-03-11 11:26:31 · 2615 阅读 · 0 评论 -
双向链表操作
#include #include #include typedef struct NAME { char *name; struct NAME *pre; struct NAME *nxt;}T_Name,*PT_Name;PT_Name ptNameHead;int ListAllName(){ PT_Name ptTemp; int i=0; if(!pt原创 2017-03-11 10:56:15 · 287 阅读 · 0 评论 -
用C语言实现中文到unicode码的转换
转自: http://blog.youkuaiyun.com/qq_21792169/article/details/50379275源文件用不同的编码方式编写,会导致执行结果不一样由于本人喜欢用Notepad++编辑器,该编辑器的好处是小巧灵活,但是有几个地方做的不足,但是我都能够很好的采取相应的措施来替代,下面让我们看看Notepad++有哪些地方的不足,进而采取怎样的措施。转载 2017-02-13 11:10:18 · 7664 阅读 · 0 评论 -
宽字符wchar_t和窄字符char区别和相互转换
转自:http://blog.youkuaiyun.com/nodeathphoenix/article/details/74167251. 首先,说下窄字符char了,大家都很清楚,就是8bit表示的byte,长度固定。char字符只能表示ASII码表中的256个字符,包括前128个可见字符和后面的128个不可见字符。 而wchar_t则是因为char所能表示的字符数太少(转载 2017-03-04 17:07:41 · 10498 阅读 · 0 评论 -
宽字节
例子: wchar_t *chinese_str = L"韦gif"; unsigned int *p = (wchar_t *)chinese_str; int i; printf("Uniocde: \n"); printf("韦gif :共 %d 个宽字节wchar_t\n",wcslen(chinese_str)); for (i = 0; i < wcslen(原创 2017-03-04 19:01:20 · 778 阅读 · 0 评论 -
error: converting to execution character set: Invalid or incomplete multibyte or wide character
交叉编译.c文件,遇到如下问题arm-linux-gcc -o show_lines show_lines.c -lfreetype -lmshow_lines.c:199:19: error: converting to execution character set: Invalid or incomplete multibyte or wide character大概意思是,原创 2017-03-06 20:34:42 · 12732 阅读 · 0 评论 -
在2440开发板液晶上显示两行字
用到了freetype库下面是测试代码:/* example1.c *//* *//* This small program shows how to p原创 2017-03-07 11:00:59 · 548 阅读 · 0 评论 -
linux获取文件大小的函数fstat()
C语言fstat()函数:由文件描述词取得文件状态头文件:#include #include 定义函数:int fstat(int fildes, struct stat *buf);函数说明:fstat()用来将参数fildes 所指的文件状态, 复制到参数buf 所指的结构中(struct stat). fstat()与stat()作用完全相同,原创 2017-03-03 09:11:27 · 15728 阅读 · 0 评论