C语言
yi412
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
strdup字符复制,strtok_r分割字符串,strchr查找字符等的用法
strdup字符复制,strtok_r分割字符串,strchr查找字符等的用法 #include #include #include #include char *input = "My test string"; int main(int argc, char *argv[]) { char *token=NULL, *arg=NULL, *saveptr=NULL;原创 2015-04-03 15:04:02 · 1040 阅读 · 0 评论 -
快速傅里叶变换FFT的C语言算法彻底研究
快速傅里叶变换FFT的C语言算法彻底研究 LED音乐频谱显示的核心算法就是快速傅里叶变换,FFT的理解和编程还是比较难的,特地撰写此文分享一下研究成果。 一、彻底理解傅里叶变换 快速傅里叶变换(Fast Fourier Transform)是离散傅里叶变换的一种快速算法,简称FFT,通过FFT可以将一个信号从时域变换到频域。 模拟信号经过A/D转换变为数字信号的过程称为采样。为保证采样后转载 2017-12-26 17:31:40 · 10949 阅读 · 3 评论 -
浅谈单片机应用程序架构
转载:http://blog.163.com/zhaojun_xf/blog/static/300505802011102233952153/ 对于单片机程序来说,大家都不陌生,但是真正使用架构,考虑架构的恐怕并不多,随着程序开发的不断增多,本人觉得架构是非常必要的。前不就发帖与大家一起讨论了一下《谈谈怎样架构你的单片机程序》,发现真正使用架构的并不都,而且这类书籍基本没有。转载 2017-12-05 11:14:13 · 1115 阅读 · 0 评论 -
C语言求最小公倍数和最大公约数三种算法
最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求最小公倍数算法: 最小公倍数=两整数的乘积÷最大公约数 求最大公约数算法: (1)辗转相除法 有两整数a和b: ① a%b得余数c ② 若c=0,则b即为两数的最大公约数 ③ 若c转载 2016-05-18 20:12:36 · 618 阅读 · 0 评论 -
bin文件和hex文件互转
对于嵌入式而言,hex文件可能大家再熟悉不过了,对,我们大学时学习的51单片机编写的代码在keil上编译后就生成了hex文件。那bin文件又是什么意思呢,它又和hex文件的区别在哪?这也不是本文的重点,下面简单的描述下: 最通俗的来讲,hex是带地址的,用下载器下载时,不需要设置偏移地址,它是文件流格式的,都是标准的ASCII码。而bin文件是不带地址的,全部是二进制数据流,打住一下,其实就是我转载 2015-10-30 11:18:51 · 23437 阅读 · 3 评论 -
atoi 和 itoa的实现
atoi 和 itoa的实现 转载:http://www.cnblogs.com/cobbliu/archive/2012/08/25/2656176.html atoi 和 itoa是面试笔试经常要考到的题目,下面两份代码是用C语言实现的atoi和itoa: 1, atoi 原型: int atoi(const char *nptr); 函数说明: 参数nptr字符串,如果第一个非转载 2015-08-08 18:20:03 · 709 阅读 · 0 评论 -
pthread_create和pthread_detach, pthread_cancel的使用
pthread_create和pthread_detach, pthread_cancel的使用原创 2015-04-03 16:42:25 · 2902 阅读 · 0 评论 -
gcc生成.a静态库和.so动态库文件
o 生成静态库的方法 $ gcc -c gdfontwu.c $ gcc -c gdfontliu.c $ gcc -c gdfontbin.c $ ar rc libgdfont.a gdfontwu.o gdfontliu.o gdfontbin.o (ranlib libgdfont.a 可生成索引) 用 nm libgdfont.a 来看里面的目标文件和导出函数(带 T转载 2015-04-03 11:25:51 · 1205 阅读 · 0 评论 -
syslog和getopt_long_only的使用和void *指针强制转换
syslog和getopt_long_only的使用和void *指针强制转换原创 2015-04-03 13:57:32 · 495 阅读 · 0 评论 -
linux线程,pthread_join和pthread_cleanup_push和pthread_cleanup_pop
linux线程,pthread_join和pthread_cleanup_push和pthread_cleanup_pop pthread_cleanup_push和pthread_cleanup_pop,是堆栈,先进后出。 #include #include #include #include #include void *thread_function(void *arg)原创 2015-04-03 16:31:52 · 769 阅读 · 0 评论 -
线程互斥和条件同步,pthread_mutex和pthread_cond
线程互斥和条件同步,pthread_mutex和pthread_cond #include #include #include //getopt_long()头文件位置 #include #include #include #include void *thread1_function(void *arg); void *thread2_function(void *原创 2015-04-03 14:12:59 · 587 阅读 · 0 评论 -
va_start和va_end使用详解
va_start和va_end使用详解 本文主要介绍va_start和va_end的使用及原理。 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end这两个宏,但对它们也只是泛泛的了解。 介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表转载 2013-10-01 11:55:22 · 507 阅读 · 0 评论 -
有关pthread锁和条件同步
代码: #include #include #include //getopt_long()头文件位置 #include #include #include #include void *thread1_function(void *arg); void *thread2_function(void *arg); pthread_mutex_t mutex; pthrea原创 2015-04-02 11:21:00 · 527 阅读 · 0 评论 -
收藏一下网站
http://www.x-io.co.uk/products/x-imu/ 国外 http://www.mxkong.com/forum.php 国内模型控网原创 2015-03-16 08:38:57 · 455 阅读 · 0 评论 -
The C Library Reference Guide
https://www-s.acm.illinois.edu/webmonkeys/book/c_guide/index.html转载 2015-01-30 13:52:15 · 624 阅读 · 0 评论 -
常量指针和指针常量
阅读会员限时特惠 7大会员特权立即尝鲜 7 ptr1 =str2; //错误 因为这是一个常量指针,改变指向的地址了 8 9 printf("%s n",*ptr1); 10 } 11 12 13 // 编译错 误 error C3892: 'ptr1' : you转载 2014-04-18 11:41:18 · 566 阅读 · 0 评论 -
GDB调试精粹及使用实例
GDB调试精粹及使用实例 来源:不详 (2006-07-14 11:18:05) 一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。 如果你使用不带参数的run命令,gdb就再次使用你给予转载 2014-03-28 16:43:59 · 533 阅读 · 0 评论 -
C语言宏与单井号(#)和双井号(##)
C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。 关于#和## 在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏: #define WARN_IF(EXP) / do{ if转载 2014-01-08 23:07:03 · 790 阅读 · 0 评论 -
开源网站
1、内核 内核世界的中心位置位于kernel.org,在这里从事开放工作的人都是勇气可嘉的,因为你很难发现其他类似的网站。 2、Alpha Alpha处理器在Linux领域中很受欢迎,在很长一段时间里Alpha是人们在处理高性能计算时最乐于使用的Linux处理器。 3、PowerPC PowerPC社区主要提供对使用PowerPC微处理器的Mac计算机的支持,同时也会支持转载 2013-11-14 11:07:31 · 1945 阅读 · 0 评论 -
C指针测试程序
typedef struct { unsigned short width; unsigned short height; unsigned char (*pfont)[7]; }T_FONT; unsigned char asci_1206[][7] = { {1, 2, 3, 4, 5, 6, 7}, {3, 5, 6, 7,原创 2013-11-12 19:04:12 · 857 阅读 · 0 评论 -
BSS段、数据段、代码段、堆与栈的详细说明
BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。 数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。 代码段:代码段(code segment/text segment)通常是指用转载 2013-11-11 10:22:31 · 837 阅读 · 0 评论 -
C语言中的typeof关键字
typeof关键字是C语言中的一个新扩展。 typeof的参数可以是两种形式:表达式或类型。 下面是使用表达式的的例子: typeof(x[0](1) 这里假设x是一个函数指针数组,这样就可以得到这个函数返回值的类型了。 如果将typeof用于表达式,则该表达式不会执行。只会得到该表达式的类型。 以下示例声明了int类型的var变量,因为表达式foo()是int类型的。由于表达转载 2013-10-01 11:45:03 · 657 阅读 · 0 评论
分享