
纯C技术
文章平均质量分 64
jackyvan
+ ios/android/c/c++/c#/java/php/python/go
- wm/symbian/android/ios/wp/Arduino/ESP32/RaspberryPi
展开
-
【翻译】MSDN:异常处理
正好用到这部分,就随便翻译了一下,翻得不好,并且没翻完,以后会补上,看到这篇东东的人不要笑我 异常处理:概述 异常一般在出现程序控制之外的状况时发生,如内存不足或者I/O错误,引起的程序执行不正常的时候。不正常的状况应该做抛出或者捕获异常处理。不正常的状况跟一般的错误状况(如函数执行错误但是返回的结果代码标识了一个错误)不同。例如,文件状态函数识别一个文件不存在就是一个普通的错误状况。原创 2007-09-03 16:02:00 · 1311 阅读 · 0 评论 -
TextFile Filter 基本功能完成 介绍及感想
2007年初,受朋友所托做一个大文本文件处理程序,专门给公司的客服用来整理数据资料用。考虑到自己开发应用程序的功底不太扎实,正好利用这个机会好好熟悉一下,SDK开发方式以及MFC的界面开发方式,所以就开始慢慢一点点做起来。期间断断续续,直到今天总算是有成型的东西出来了。原先的想法是,文本数据的处理算法用ANSI C来实现,保证将来这部分算法程序移植到LINUX平台上也可以使用,索引就用C写了处原创 2007-06-11 13:50:00 · 1360 阅读 · 0 评论 -
自己写的内存分配管理的代码,用C实现
主要是解决自己分配的内存忘记释放的问题,自己定义了几个函数取代了malloc,calloc,realloc,free这几个函数,尽量跟原有用法一致。 头文件mypool.h#ifndef _MYPOOL_H#define _MYPOOL_Hstruct Node{ struct Node *preNode;//前一个节点 struct Node *nextNode;//后一个节点原创 2009-07-03 16:38:00 · 2172 阅读 · 3 评论 -
关于PHP的call_user_func的分析
分别下载了php5.2.10和5.3.0版本的源码,查找到里面call_user_function(在ext/standard/basic_functions.c)的方法。在5.2.10版本里,call_user_function用的是标准的php 函数的写法,用zval类型来存储接收的参数,调用call_user_function_ex来执行用户的方法。如果调用不成功则分析是不是接收到的参数原创 2009-09-16 09:08:00 · 2758 阅读 · 1 评论 -
命令行版的视频音频信息查看工具
因做视频相关的开发工作,需要一个接口来获取media player支持的视频/音频的详细的信息,包括采样率,帧率,时长,长宽度等。于是用wmf9 sdk写了一个应用,可以比较规范的输出视频/音频的详细信息,可以被其他应用调用。 下载地址:http://download.youkuaiyun.com/source/1701111 F:/dll>wmvinfo F:/smooth.wmvDu原创 2009-09-28 15:53:00 · 1959 阅读 · 1 评论 -
sscanf 其实很强大
最近在做日志分析,linux C 的开发环境,在对每行日志进行处理的时候,手下一个小伙用的是逐字节拆分成字段。 刚开始没注意,后来每天10几G的日志上来后,发现除了速度特别慢以外,还经常出问题,遇到错误格式的日志就直接崩溃。。。 拿过来帮他改的时候,觉得这里完全可以用sscanf来进行处理,于是google+man 以及半天的测试以后,终于找到了一个比较合理的格式字符串 "原创 2010-03-05 16:00:00 · 65704 阅读 · 7 评论 -
linux 32位与64位系统下数据类型长度的区别
近日在centos下用c写东西,这个程序的服务端运行在64位的centos下,客户端有可能是32机,也有可能是64位的。为了保证数据传输的一致性制定了一套协议,用struct实现。为了保证输出过程中,数据的完整性,特别针对系统的不同对struct里变量的类型进行了优化。为了保证内存对齐方式的一致和数据存储空间的紧凑,都用 #pragma pack(4) 指定了对齐大小。一下是在cent原创 2009-12-30 10:08:00 · 6017 阅读 · 1 评论 -
很久没更新,贴点代码吧 身份证号码校验
#include #include #include //身份证验证规则void main(int argc,char **argv){ if(argc<2 || strlen(argv[1])<18) { printf("请输入18位身份证号码"); return; } int cr[]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1};原创 2012-03-21 23:36:44 · 1035 阅读 · 0 评论