- 博客(63)
- 收藏
- 关注
原创 customize treeview sort
person.h#ifndef _MODEL_H#define _MODEL_H#include #include #include #define PERSON_TYPE ( person_get_type() )#define PERSON(obj) ( G_TYPE_CHECK_INSTANCE_CAST((obj), PERSON
2008-07-24 14:16:00
3260
3
原创 使用gtype构造的一个简单学生管理程序其他属性自己加
person.h:#ifndef _PERSON_H#define _PERSON_H#include #include #include #define PERSON_TYPE ( person_get_type() )#define PERSON(obj) ( G_TYPE_CHECK_INSTANCE_CAST((obj), PERSON_TYP
2008-07-21 10:08:00
3878
转载 ADO使用
一、ADO简介ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,请不必为此担心,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API、DAO、RDO都要容易使用,并不失灵活性。本文将详细地介绍在VC下如何使用ADO来进行数据库应用程序开发,并给出
2008-02-02 10:11:00
2982
转载 转一些分析工具慢慢看
1。linux下有gprof,衍生的工具有kprof等有gui的工具2.windows下有vs2005 team site 和 vs 2008 team site都自带有code analyse工具二、SSE编程用SSE对matrix inverse 进行优化,SSE现在都已经扩展到SSE3三、network coding以上的工作其实都是为了这个。network coding
2008-01-17 16:31:00
2676
转载 Linux_src_code_treeview
Linux源代码目录树结构Linux用来支持各种体系结构的源代码包含大约4500个C语言程序,存放在270个左右的子目录下,总共大约包含200万行代码,大概占用58MB磁盘空间。 源代码所有在目录:/usr/src/linux (大部分linux发行版本中) init 内核初始化代码 kernel 内核核心部分:进程、定时、程序执行、信号、模块。。。 mm 内存处理 arch 平台相关代码
2007-10-10 18:25:00
3070
原创 ipc - demo for pipe
一 创建管道函数: #include #include int mkfifo(const char * pathname, mode_t mode) 函数说明
2007-10-09 15:54:00
2591
转载 gdb 调试
用 gdb 调试 GCC 程序 Linux 包含了一个叫 gdb 的 GNU 调试程序. gdb 是一个用来调试 C 和 C++ 程序的强力调试器. 它使你能在程序运行时观察程序的内部结构和内存的使用 情况. 以下是 gdb 所提供的一些功能: 它使你能监视你程序中变量的值. 它使你能设置断点以使程序在指定的代码行上停止执行. 它使你能一行行的执行你的代码. 在
2007-09-25 10:09:00
2667
转载 转: gcc常用的编译选项对代码的影响
测试环境 redhat 6.2 ★ 前言 本文讨论gcc的一些常用编译选项对代码的影响。当然代码变了, 它的内存布局也就会变了,随之exploit也就要做相应的变动。 gcc的编译选项实在太多,本文检了几个最常用的选项。 ★ 演示程序 [alert7@redhat62 alert7]$ cat > test.c #include void hi(void) { printf("hi"); }
2007-09-25 09:52:00
2437
原创 txt-scrolled demo
gboolean GtkTreeModelForeachFunction(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data);/* * func: do initialization with scroll struct * * Input: scrolled_str: strin
2007-09-13 15:58:00
2486
原创 [ioctrl] sample
Lnux系统ioctl使用示例 程序1:检测接口的 inet_addr,netmask,broad_addr程序2:检查接口的物理连接是否正常程序3:更简单一点测试物理连接程序4:调节音量***************************程序1****************************************#include #include #include #incl
2007-08-09 18:30:00
3129
转载 [ioctrl] 一些解释
SIOCGIFCONF请求为每个已配置的接口返回其名字以及一个套接口地址结构。我们接着可以发出多个接口类其他请求以设置或获取每个接口的其他特征。这些请求的获取(get)版本(SIOCGxxx)通常由netstat程序发出,设置(set)版本(SIGOCSxxx)通常由ifconfig程序发出。任何用户都可以获取接口信息,设置接口信息却要求有超级用户权限。 这些请求汲取或返回一个一个
2007-08-09 18:29:00
4320
1
转载 [ioctrl] 函数介绍
ioctl函数 本函数影响由fd参数引用的一个打开的文件。 #includeint ioctl( int fd, int request, .../* void *arg */ );返回0:成功 -1:出错 第三个参数总是一个指针,但指针的类型依赖于request参数。我们可以把和网络相关的请求划分为6类:套接口操作文件操作接口操
2007-08-09 18:27:00
6057
1
原创 客户端TCP实现简介
客户端连接取消两个状态LISTEN和SYN_RECV只剩三个状态:Tcp_State_Closed: 连接处于关闭状态此时不可用TCP Tcp_State_SynSent: 连接处于激活发送完同步序列Tcp_State_Established: 客户端收到确认,连接确立阶段可以进行数据承载Tcp_State_CloseWait: 客户端发送FIN进入等待回应阶段Tcp_S
2007-04-06 16:19:00
3455
原创 TCP的通讯介绍
概念:TCP协议被称作一种端对端协议。这是因为它为两台计算机之间的连接起了重要作用:当一台计算机需要与另一台远程计算机连接时,TCP协议会让它们建立一个连接、发送和接收数据以及终止连接。Tcp是提供面向连接的,可靠的字节流服务.面向连接是tcp在正式进行通讯之前首先通过一些握手机制确认双方通讯意向并建立一条认为可以传输的概念通道.字节流服务是tcp传输的最小单位为字节,认为字节是有意
2007-04-05 17:00:00
2900
转载 以太网帧格式及例子[转]
很多人将局域网(Local Area Network,LAN)和以太网(Ethernet)混为一谈,这个误解大概是因为和其他局域网技术比较起来,以太网技术使用得是如此普遍、发展得是如此地迅速,以至于人们将"以太网"当作了"局域网"的代名词。 本节将讨论"局域网"和"以太网"二者之间的关系以及相关的一些基础知识。 1 以太网概述 1973年,施乐公司(Xerox)开发出了一
2007-03-16 17:19:00
9012
原创 ARP原理3-8学习
∮讨饭的(***) 10:46:16我在准备笔试呢,哈哈。 dogy(***) 11:02:58没事 正好加固你的安全知识 dogy(***) 11:03:22arp在什么情况下进行? 刀(***) 10:46:57 ∮讨饭的(***) 10:47:06我现在需要了解跨站脚本和java安全性的知识。 dogy(***) 11:03:37每次通讯都要
2007-03-08 11:33:00
2744
原创 一些存储概念自己有用需要封装内存分配函数是了解
连续分配存储方式 1.固定分区(Fixed Partitioning)分配 固定分区是在作业装入之前,内存就被划分成若干个分区。划分工作可以由系统管理员完成,也可以由操作系统实现。然而一旦划分完成,在系统运行期间不再重新划分,即分区的个数不可变,分区的大小不可变,所以,固定式分区又称为静态分区。 这种分区方式一般将内存的用户区域划分成大小不等的分区,以适应不同大小的作业的需要
2006-11-10 10:52:00
3052
原创 传说中的大数运算David
传说中的实现除数比较复杂,我自己做的运算比他简单只是风格不一样,回头改掉他#include #include #include "assert.h"#include "calc.h"#define T XP_T#define BASE (1unsigned long XP_fromint(int n, T z, unsigned long u){ int i = 0; do
2006-10-24 11:32:00
3452
原创 大数运算 整型运算浮点后续再补充
/* * Date: 2006-08-14 * Ver : 0.1 */#ifndef _LN_H#define _LN_H#include #define STRING_LENGTH 100typedef enum{ NONE_TYPE = 0, HEX_TYPE = 1, BCD_TYPE = 2}DATA_STRING_TYPE;class ln{public: ln(
2006-08-16 16:44:00
1610
2
原创 关于浮点一点想法和使用
突然想起浮点的一些东西,无聊写个求浮点的小数部分函数说到浮点又想到前阵一件郁闷的事前阵项目中用到分解浮点的小数和整数部分用于显示不知道为什么ads中编译的代码在显示 "."的时候居然是乱码很是郁闷没办法使用库函数只能自己写当时也没当回事,觉得很简单 简单的分析了一下流程也很简单1.判断是否为负数,是则保存标志2.化成正小数依次求整数部分和小数部分3.将整数部分按1步骤中的正负转成相应的正负数
2006-08-13 12:38:00
1756
原创 C语言宏定义技巧
1,防止一个头文件被重复包含#ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,
2006-08-11 15:49:00
2250
8
转载 des加密算法程序收藏可用
只要建立d3des.h 和 d3des.c分别拷贝下面的文件体就ok了#define D2_DES /* include double-length support */#define D3_DES /* include triple-length support */#ifdef D3_DES#ifndef D2_DES#define D2_DES /* D2_DES is n
2006-07-17 09:39:00
5321
3
原创 关于段及相关概念的一些自己的阐述
1.void sched_init(void){...00392 set_tss_desc(gdt+FIRST_TSS_ENTRY,&(init_task.task.tss));00393 set_ldt_desc(gdt+FIRST_LDT_ENTRY,&(init_task.task.ldt));...}gdt:全局描述符,一共定义256个描述符,GDT本身不是
2006-06-09 12:07:00
1795
原创 陆续一些常用函数汇编实现
//字符串拷贝void strcpy(const char *src, char *dest){ char ch; __asm { loop: ldrb ch, [src], #1 strb ch, [dest], #1
2006-06-07 16:37:00
1347
1
原创 关于正交变换和正交矩阵
关于正交变换和正交矩阵一点学习笔记:定义:设V是一个欧氏空间,А是V上的线形变换,如果对于任何向量x,y,变换А恒能使的下列等式成立则说А是V上的正交变换。 定理: А是欧氏空间V上的线形变换,下面满足任意条件都是А成为正交变换的充要条件。1. А使得向量长度保持不变,机对于任何x∈V有(А(x), А(x))=(x,x) 2.任意一组标准正交基经过А变换后的 基像仍是一组
2006-06-04 17:30:00
9447
1
原创 linux0.11缓冲处理过程及一点块设备的基础知识
关于linux缓冲处理过程及一点块设备的基础知识 一: 块设备硬盘的基础知识:硬盘存储信息的格式是按柱面、磁头号和扇区来存储的,硬磁盘每个存储表面被划分成若干个磁道,每道划分成若干个扇区。存储容量=磁头数×柱面数×扇区数×每扇区字节数磁头数: 磁头是硬盘读取数据的关键部件,,在工作状态时,磁头悬浮在盘片上方,而不与盘片直接接触,电源关闭之后,磁头会自动回到在盘片上的起始位置
2006-06-01 17:42:00
1464
原创 linux初始化代码陷阱门初始化
linux初始化代码陷阱门初始化:trap_init主要功能对异常陷阱程序做初始化,其实就是设置中断描述符表(IDT:interrupt Description Table)。IDT和GDT差不多每个IDT都是由一个8个字节组成。最多0.11内核中支持256个描述符,对于第n个描述符获取地址大概可以这样计算 add(n) = add(IDT)+8*(n-1)得到。 一:IDT中存放
2006-05-30 15:45:00
2051
1
转载 真不方便找指令集每次都搜索
一、数据传输指令 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,
2006-05-29 15:36:00
1305
转载 at&a语法和intel语法
学习linux内核少不了要读at&t的汇编,这个对大多数使用intel汇编的人是一个不幸的消息,要另起炉灶。什么?你不是学得intel汇编?你是不是中国学生?记得我们有门课是学,学得挺感兴趣,窃以为这个就是学电脑的最高境界。当时怎么也没人说这个是intel汇编语言格式,还有个什么at&t格式..不扯远了,这两者之间还是有章可循的,我觉得要注意的是转移指令,这个要仔细琢磨一下才看的明白。内存间接
2006-05-16 10:45:00
2827
原创 居然找到自己很早很早24点计算的程序 赶紧纪念一下
#include #include #include #include class StorePoint{public: StorePoint() : mMolecule(0),mDenominator(1) {} StorePoint( int i ) { mMolecule = i ; } StorePoint( int i, int j ) ; StorePoint( StorePoin
2005-12-22 12:16:00
1454
原创 c语言测试工具 掌握CUnit
1.继Junit CppUnit的成功后, c语言环境下也出现了开发源码的白盒测试用例CUnit。 暂时CUnit只是在SourceForge上还再不断改进中,虽然不是很完善,但是能用。 下面介绍一下CUnit结构框架和具体使用 2.结构框架: 在CUnit的主页上可以看到对他结构简单描述 Test Registry
2005-12-17 16:43:00
4379
4
原创 看到这么多的linux站点 有点激动赶紧先记录下不要错过了
http://www.fanqiang.com ; 在这里可以学到很多哟!http://www.Linuxhq.com/,Linux总部,主要负责核心的开发工作。http://freesoft.cei.gov.cn/,中国Linux的资源宝藏http://xchina.cLinux.org/,包括Linux程序下载,窍门,技术资料,内容丰富。http://www.Linuxaid.com.cn/,
2005-12-10 16:37:00
2619
原创 小结UART驱动过程
URAT工作流程:1.配置发送和接收口线信息来实现访问方式 具体使用IO的端口及读写方式即配置GPIOx的PC0 PC1 PC2寄存器2.开启UART_CR中的RUN位打开波特率发生器使UART激活3.配置队列机制这个机制是接收和发送公用的配置 选择关闭队列机制即不使用FIFO中的其他15个数据矢能 选择开启队列机制则使用16个数据矢能在移位前可以存储16字节发送或接收数据 操作置或
2005-11-05 08:57:00
3960
1
原创 民国传奇女子——张爱玲
民国传奇女子——张爱玲 黄叶凋落,屋宇陈旧,木头门上红漆班驳,屋檐下结着蜘蛛网。我推开门,门缓缓打开,一阵冷风迎面吹来,我哆嗦了一下,一脚踏进去,仿佛是踏入另一个世界。有个女人坐在大厅门口,低着头读书。哦,原来是你。你穿着宽大的旗袍,旗袍上绣着黄色蟹爪菊图案,黑底丝绸有种阴森感。你的头发理成当时最时髦的发式,卷发,一小卷,一小卷,在肩角散漫开来。你的手指细长而柔弱,是那么的纤瘦。我走近你,向你伸
2005-10-27 21:56:00
2610
原创 ARM中断处理及状态机嵌套实现
1.ARM7提供两种级别的中断, FIQ(Fast Interrupt Request快中断) 一般中断低速反应中断IRQ。 所有的中断请求一旦产生则中断反应会经过三个步骤 a.输入阶段这个逻辑可以根据中断源被实现,需要0-2个时钟周期 b.EIC自身处理 2个时钟周期 c.ARM7的逻辑处理2.EIC Enhanced Interrupt Controller增强型中断控制器 EIC硬
2005-10-19 14:47:00
4660
原创 ARM下的对齐处理
from DUI0067D_ADS1_2_CompLib 3.13 type qulifiers 有部分摘自ARM编译器文档对齐部分对齐的使用:1.__align(num) 这个用于修改最高级别对象的字节边界。在汇编中使用LDRD或者STRD时 就要用到此命令__align(8)进行修饰限制。来保证数据对象是相应对齐。 这个修饰对象的命令最大是8个字节限制,可以让2字节的对象进行4字
2005-10-17 16:45:00
14257
1
原创 也谈字节对齐带来效率的差异
因为今天和同事谈到了ARM平台下数据总线宽度及对齐方式对程序效率的影响问题在定义结构数据类型时,为了提高系统效率,要注意字长对齐原则。正好有点感触给大家谈谈 本人水平有限的很有什么问题请朋友指正:本文主要给大家解释下所谓的对齐到底是什么?怎么对齐?为什么会对齐或者说对齐带来什么样的效率差异?1.先看下面的例子:#include #pragma pack(4)struct A{ char a; in
2005-10-13 17:05:00
2968
原创 UART寄存器介绍
UARTn_BR: UART波特率寄存器UARTn_BR[15:0]: 由定时器的装入寄存器定时装入相应内容。 UARTn_CR.Run=0可以装入直到UARTn_CR.Run=1才写入无效 UARTn_TxBUFR:UART传输寄存器UARTn_TxBUFR[8]: 传输数据第八位或者奇偶校验位或者唤醒位或者未定义的位有相应操作模式决定
2005-10-11 11:44:00
5517
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人