基础语言
文章平均质量分 57
赵小刚
系统架构师
展开
-
向(矢)量叉乘法编程实现
在一个朋友的邀请下,我特意用c语言实现了三维向量的叉乘法,因为他在网上找不到关于向量乘法的相关代码。既然写出来了,我就想和大家一起分享,在写的时候对数据结构考虑的不多,重在实现运算过程,有好的建议的朋友希望踊跃留言。 ///////////////////////////////////main.c/////////////////////////////////////////#原创 2012-12-11 14:27:27 · 3393 阅读 · 0 评论 -
linux下查看so文件的函数列表
nm -D XXX.soobjdump -tT XXX.so原创 2013-05-10 11:05:50 · 24385 阅读 · 0 评论 -
统计大容量文本里面单词的函数(方法)
#include #define VALIDATE_IS_STRING(f) do{ \ while ((c = getc(f)) != EOF) { \ if (validate_character_is_space(c)) { \ if (word) { \ wcount++; \ } \原创 2012-12-31 23:56:50 · 2632 阅读 · 0 评论 -
关于strdup函数参数为NULL的分析和建议
分析: 前两天在写测试用例的时候发现了一个段错误的bug,最后在追踪代码的时候发现问题出在strdup函数上面,结论是,该函数的参数不能为NULL,一旦为NULL,就会报段错误。 出于对问题的探索,我又自己写了一些写测试:(1) #include intmain() { const char *null_src_p = NULL;原创 2013-01-01 00:19:30 · 4486 阅读 · 1 评论 -
关于双重锁
Double-Checked Locking( 双检锁 ) 是普遍应用的技术,尤其在多线程环境下是实现延迟加载的有效方法。 然而,在其 Java 实现中,如果不做同步控制它不能保证在任何平台总能正确的执行。而在其他语言实现中如: C++ ,双检锁能否正确执行取决于处理器的内存模型、编译器的对指令的乱序优化以及编译器与同步库之间的相互影响。因为上面三种因素在诸如 C++ 等编程语言中并没有明确的翻译 2013-01-01 09:44:07 · 9296 阅读 · 2 评论 -
最近在做NAT时写的一个双向链表(vc6.0和linux下测试通过)
#include #include #include #define MAX_PEER_LEN 64typedef unsigned long u64_t;typedef unsigned int u32_t;typedef unsigned short u16_t;原创 2013-01-01 00:29:58 · 4010 阅读 · 0 评论 -
./执行文本和sh命令执行文本的区别
我在这里用实例来说明:(1)我们建一个文件命名为:a,里面输入 “ls - l”;(2)执行chmod 444 a,然后再执行: sh a,达到我们的目的;(3)用./a执行,提示权限不够.(4)chmod 744 a, 用./执行,ok.(5)sh a也ok。结论:sh命令是调用的shell解析器,因此只要对文件的权限最低要求是可读就行了,而./则要求得更高一些原创 2013-01-01 00:21:29 · 3188 阅读 · 0 评论 -
状态机的两种写法
有限状态机FSM思想广泛应用于硬件控制电路设计,也是软件上常用的一种处理方法(软件上称为FMM--有限消息机)。它把复杂的控制逻辑分解成有限个稳定状态,在每个状态上判断事件,变连续处理为离散数字处理,符合计算机的工作特点。同时,因为有限状态机具有有限个状态,所以可以在实际的工程上实现。但这并不意味着其只能进行有限次的处理,相反,有限状态机是闭环系统,有限无穷,可以用有限的状态,处理无穷的事务。原创 2012-12-12 10:35:19 · 2688 阅读 · 0 评论 -
C语言中的空指针、空指针常量、NULL & 0
什么是空指针常量(null pointer constant)?[6.3.2.3-3] An integer constant expression with the value 0, orsuch an expression cast to type void *, is called a null pointerconstant.这里告诉我们:0、0L、'\0'、3 - 3、0 * 1原创 2012-12-11 15:09:59 · 2396 阅读 · 0 评论 -
java中断和线程结束深入探讨
中断: 有软中断和硬中断之分。而硬中断多为外围设备引起而且发生多是随机的,故我们在这里只讨论java程序中的软中断,是可控的。 这里我必须要回答几个问题,然而是网上大多数文章没有回答的。 a)为什么使用中断? b)何时使用中断? c)中断和结束线程之间有什原创 2011-09-21 16:20:36 · 3538 阅读 · 0 评论