编程基础
谁de如花
这个作者很懒,什么都没留下…
展开
-
C语言基础--编写风格1
1 C 语言编写风格1.1 变量名定义数值类型与指针类型叫标量类型,数组类型与结构类型叫聚集类型1.1.1 变量采用下划线命名法:前缀类型_变量名1.1.1.1 前缀前缀说明备注l局部变量 g全局变量原创 2016-09-06 22:02:14 · 899 阅读 · 0 评论 -
有关于__align(n)
转载于:https://www.cnblogs.com/ye-moooooo/p/4601189.html有关于__align(n)__align__align 关键字指示编译器在 n 字节边界上对齐变量。__align 是一个存储类修饰符。它不影响函数的类型。语法__align(n)其中:n是对齐边界。对于局部变量,n 值可为 1、2、4 或 8。对于全局变量,n 可以具有最大为 2 的 0x...转载 2018-04-03 14:19:16 · 1949 阅读 · 0 评论 -
Keil 下生成LIB库文件以及如何使用LIB库文件
转载于:http://blog.csdn.net/yunfeiyang62/article/details/47211209Keil 下生成LIB库文件以及如何使用LIB库文件如何生成LIB库文件?1. 首先准备好生成LIB库文件对应的.c和.h文件,我这里用到的.c和.h文件分别是:commLib.h:转载 2017-10-14 21:54:37 · 7737 阅读 · 0 评论 -
Keil C51 实现 printf 函数
转载于:http://blog.csdn.net/zhanglianpin/article/details/44779009在Keil C51 中使用printf ,首先需要重新实现 putchar(char c)函数。此函数在char putchar (char c) { ES=0; SBUF = c;转载 2017-06-18 10:16:46 · 2975 阅读 · 2 评论 -
函数指针作为某个函数的参数及定义函数指针(回调函数)
转载于:http://blog.csdn.net/vlily/article/details/7244682一、 定义某一函数的指针类型:就像自定义数据类型一样,我们也可以先定义一个函数指针类型,然后再用这个类型来申明函数指针变量。我先给你一个自定义数据类型的例子。typedef int* PINT; //为int* 类型定义了一个PINT的别名int main(转载 2017-06-17 22:52:46 · 39630 阅读 · 7 评论 -
C语言基础--指针
1 高级指针话题1.1 指向指针的指针INT8U lby_tmp = ‘a’;INT8U *lp_tmp;INT8U **lpp_tmp; lpp_tmp = &lp_tmp;*lpp_tmp = &lby_tmp;这样,三个变量就有了相同的值;lby_tmp = ‘a’;*lp_tmp = ‘a’;**lpp_tm原创 2016-09-06 22:12:47 · 453 阅读 · 0 评论 -
C语言基础--动态内存分配
2 动态内存分配2.1 mallocvoid *malloc ( size_t size );malloc的参数是需要分配的 字节 数;请求成功返回一个指向被分配内存块起始位置的指针;否则返回 NULL 指针;所以对每个从该函数返回的指针都需进行检查;实例:分配一个100个INT16U型数组;INT16U *lp_tmp;lp_原创 2016-09-06 22:11:40 · 344 阅读 · 0 评论 -
C语言基础--常用字符串处理函数
1 字符串函数字符数组初始化char la_tmp[12] = “Hello Word!”;1.1 字符串长度size_t strlen( char const *string );1.2 不受限制的字符串函数1.2.1 复制字符串char *strcpy( char *dst, char con原创 2016-09-06 22:06:12 · 549 阅读 · 0 评论 -
C51 实现动态内存分配
前几天尝试了一下C51 keil4编译其中对 malloc的函数的调用,最后感觉可以读取 len 的长度来实现内存分配;今天尝试写了一下;程序如下;/********************************************************************************************************//* 静态数组长度 *原创 2016-09-16 21:54:36 · 5662 阅读 · 0 评论 -
常用ARM汇编指令
相对跳转指令 b blBl除了跳转之外,还将返回地址(bl的下一条指令的地址)保存在lr寄存器中;这两条指令可跳转范围是当前指令的前后32MB; 数据传送指令mov 地址读取伪指令 ldrmov 把一个寄存器的值赋给另一个寄存器,或把一个常数(立即数)赋给寄存器. mov 目标寄存器,操作寄存器或常数mov r1,r2转载 2015-06-01 16:20:33 · 395 阅读 · 0 评论 -
linux open() 函数使用说明
open 函数用于打开和创建文件。以下是open函数的简单描述#include int open(const char *pathname, int oflag, ... );返回值:成功则返回文件描述符,否则返回 -1对于 open 函数来说,第三个参数(...)仅当创建新文件时才使用,用于指定文件的访问权限位(access permission bits)。pat转载 2015-06-01 17:12:19 · 660 阅读 · 0 评论 -
linux atoi() 函数使用说明
把字符串转换成整型数#include int atoi(const char *nptr);参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零。转载 2015-06-01 17:16:08 · 2690 阅读 · 0 评论 -
linux fork()函数使用说明
一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。转载 2015-06-01 17:15:49 · 381 阅读 · 0 评论 -
linux getopt()函数使用说明
getopt()函数声明如下:#include int getopt(int argc, char * const argv[], const char*optstring);extern char *optarg;extern int optind, opterr, optopt; argc和argv参数通常直接从main()的参数直接传递而来。optstring转载 2015-06-01 17:18:20 · 433 阅读 · 0 评论 -
C51 中 init_mempool 及动态内存分配的问题
之前在网上看过一篇文章:C51单片机动态内存分配;尝试文章里的方法分配内存;出现了一些问题,在这里写出来共同分析一下;1 1.1 静态数组定义/********************************************************************************************************//* 系统随机分原创 2016-09-14 11:16:00 · 3924 阅读 · 0 评论 -
keil 中回调函数参数限制
以下一段话来摘自网络:ANSIC中,通过函数指针调用的函数的参数的个数没有限制,但是KeilC对此有限制,至多3个参数。因为,KeilC编译时,无法通过函数指针找到该函数的局部数据段,也就无法通过局部数据段传递参数,只能通过寄存器传递参数,所以参数个数是有限制的。碰到这个问题时解决办法是:① 将该函数改为reentarnt类型。② 修改源程序,将多个参数放在一个结构体中传递。原创 2016-09-11 19:05:34 · 2501 阅读 · 0 评论 -
C语言基础--条件编译
指令 用途 # 空指令,无任何效果 #include 包含一个源代码文件 #define 定义宏 #undef 取消已定义的宏 #if 如果给定条件为真,则编译下面代码 #ifdef 如果宏已经定义,则编译下面代码 #ifndef 如果宏没有定义,则编译下面代码原创 2016-09-09 14:29:15 · 391 阅读 · 0 评论 -
C语言基础--结构和联合体
1 结构和联合1.1 结构体声明声明:typedef struct{ INT8Ulby_tmp; INT8Slc_tmp; FP32lf_tmp;} SCMSIMPLE;后续声明:SCMSIMPLE lscm_tmp;SCMSIMPLE *lpscm_tmp; 结构体原创 2016-09-06 22:09:53 · 353 阅读 · 0 评论 -
c# 多线程 调用带参数函数
线程操作主要用到Thread类,他是定义在System.Threading.dll下。使用时需要添加这一个引用。该类提供给我们四个重载的构造函数(以下引自msdn)。 Thread (ParameterizedThreadStart) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托。 Thread (ThreadStart) 初始化 Thr...转载 2018-09-25 23:38:47 · 1741 阅读 · 0 评论