- 博客(70)
- 资源 (61)
- 收藏
- 关注
转载 函数名与函数指针
转自:http://www.programfan.com/blog/article.asp?id=6030一 通常的函数调用 一个通常的函数调用的例子://自行包含头文件void MyFun(int x); //此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]){
2013-12-19 14:50:17 597
转载 基于OpenSS 的CA 建立及证书签发
转自:file:///C:/Users/Administrator/Desktop/%E5%9F%BA%E4%BA%8EOpenSS%20%E7%9A%84CA%20%E5%BB%BA%E7%AB%8B%E5%8F%8A%E8%AF%81%E4%B9%A6%E7%AD%BE%E5%8F%91.htm1、建立CA目录结构按照 OpenSSL 的默认配置建立 CA ,需要在文件
2013-11-05 14:37:53 747
转载 PKI常见证书格式和转换[转]
转自:http://blog.csdn.net/adeyi/article/details/82994731.证书格式PEM 格式PEM格式通常用于数字证书认证机构(Certificate Authorities,CA),扩展名为.pem, .crt, .cer, and .key。内容为Base64编码的ASCII码文件,有类似"-----BEGIN CERTIF
2013-11-05 13:56:34 966
转载 使用OpenSSL生成证书
转自:http://blog.csdn.net/gloomuu/article/details/4456501Step 1. Create key (password protected) openssl genrsa -out prvtkey.pem 1024/2038 (with out password protec
2013-09-24 14:21:54 898
转载 总结几种log打印printf函数的宏定义
http://blog.chinaunix.net/u1/38994/showart_1168773.html[c-sharp] view plaincopy#include #define lU_DEBUG_PREFIX "##########" #define LU_DEBUG_CMD 0x01 #defi
2013-03-27 11:28:26 1159
转载 volatile
volatile总是与优化有关,编译器有一种技术叫做数据流分析,分析程序中的变量在哪里赋值、在哪里使用、在哪里失效,分析结果可以用于常量合并,常量传播等优化,进一步可以死代码消除。但有时这些优化不是程序所需要的,这时可以用volatile关键字禁止做这些优化,volatile的字面含义是易变的,它有下面的作用: 1 不会在两个操作之间把volatile变量缓存在寄存器中。在多任务、中断、
2011-06-06 09:52:00 392
转载 在Linux里设置环境变量的方法(export PATH)
一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,build_tools就是我的编译工具,则有如下三种方法来设置环境变量: 1、直接用export命令: #export PATH=$PATH:/opt/au1200_rm/build_tools
2011-06-04 22:23:00 558
原创 位操作点滴
#define GPBCON (*(volatile unsigned long *)0x56000010)#define GPBDAT (*(volatile unsigned long *)0x56000014)int a; |int *p; |p=&a; | p=(int *)0x56000050 | *p=0;====a
2011-06-04 14:17:00 447
转载 第七章 右左法则----复杂指针解析
<br />首先看看如下一个声明:<br /> <br />int* ( *( *fun )( int* ) )[10];<br /> <br />这是一个会让初学者感到头晕目眩、感到恐惧的函数指针声明。在熟练掌握C/C++的声明语法之前,不学习一定的规则,想理解好这类复杂声明是比较困难的。<br /> <br />C/C++所有复杂的声明结构,都是由各种声明嵌套构成的。如何解读复杂指针声明?右左法则是一个很著名、很有效的方法。不过,右左法则其实并不是C/C++标准里面的内容,它是从C/C++标准的声明规定
2011-04-18 15:50:00 416
转载 RHEL5中TFTP服务器的安装与配置
<br />TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP承载在UDP上,提供不可靠的数据流传输服务,不提供存取授权与认证机制,使用超时重传方式来保证数据的到达。与FTP相比,TFTP的大小要小的多,TFTP是用来下载远程文件的最简单网络协议,它基于UDP协议而实现。它使用的是UDP的69端口 。<br />1、检查系统是否安装tftp服务<br
2011-04-09 17:11:00 455
原创 TFTP服务器安装
环境:安装RHEL4的VM虚拟机1.查看tftp服务器有没有启动,若已启动则不需要安装。 命令如下:netstat -a | grep tftp已安装的结果如下所示[root@localhost tftpboot]# netstat -a | grep tftpudp 0 0 *:tftp *:*[root@localhost tftpboot]# 2.若没有安装则到http://www.kernel.org/pub/sof
2011-03-30 15:56:00 956
转载 pppd的编译过程
<br /><br />1. 下载源码包<br />http://igorpopov.newmail.ru/pppd/download.html<br />或者http://www.sfr-fresh.com/linux/misc/ppp-2.4.4.tar.gz/<br />下载ppp-2.4.4.tar.gz<br />http://sourceforge.net/projects/libpcap/<br />或者http://www.tcpdump.org/<br />下载libpcap-0.9.8.
2011-03-23 20:40:00 4330
转载 VMware虚拟机出现Reason: Failed to lock the file
<br />打开VMware出现Cannot open the disk *.vmdk or one of the snapshot disks it depends on.Reason: Failed to lock the file.错误的解决办法!<br /><br /> 今天我公司做的虚拟化服务器出现故障意外重启了,主系统启动之后,在启动VMware虚拟机的时候出现了Cannot open the disk '*.vmdk' or one of the snapshot disks it dep
2011-02-11 11:12:00 3793
转载 485接口测试,远传电表开发资料
上位机软件通过485口抄电能表总用电量实例:1、 主站请求帧格式:68H A0 A1 A2 A3 A4 A5 68H 01H 02H DI0 DI1 CS 16H2、 从站正常应答帧格式:68H A0 A1 A2 A3 A4 A5 68H 81H L DI0 DI1 N1...Nm CS 16H例如:有一只表号为000123456789的电能表,其总用电量为000006.83kWh,抄表时,上位机软件要发送的数据帧为:FEH FEH 68H 89H 67H 45H 23
2011-01-14 10:51:00 2768
转载 一些linux资源
linux内核源代码情景分析 非扫描版 上下册合订版 字清楚 带书签 1575页 pdf http://download.csdn.net/source/2002579 ************************************************************* linux设备驱动开发详解 pdf,针对ARM9 s3c2410 经典 宋宝华第一部分:http://download.csdn.net/source/2530647 第二部分:http://download.csdn
2011-01-13 19:46:00 880
转载 S3C2410 UART驱动
<br />14.7.1 S3C2410串口硬件描述<br /> S3C2410 内部具有3个独立的UART控制器,每个控制器都可以工作在Interrupt(中断)模式或DMA(直接内存访问)模式,也就是说UART控制器可以在 CPU与UART控制器传送资料的时候产生中断或DMA请求。S3C2410集成的每个UART均具有16字节的FIFO,支持的最高波特率可达到 230.4Kbps。<br />ULCONn(UART Line Control Register)寄存器用于S3C2410 UART的线
2011-01-13 16:42:00 2698
转载 extern "C"
<br />时常在cpp的代码之中看到这样的代码:<br /> #ifdef __cplusplusextern "C" {#endif//一段代码#ifdef __cplusplus}#endif<br />int f(void){ return 1;}<br />这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码,那么加入
2011-01-13 09:16:00 403
转载 s3c2440启动文件详细分析
<br />启动文件就是引导ARM启动,并进入我们熟悉的C语言程序。它主要完成了ARM最基本的硬件初始化工作。虽然启动文件的内容大同小异(就是设置系统时钟、内存、中断向量表、栈等内容),而且只要有一个现成的启动文件,即使不用详细了解该文件的内容,直接进入C语言编程工作也可以对ARM进行操作,但我认为熟悉启动文件的内容,还是有必要的,它对我们熟悉ARM的体系结构,编写出更高效的程序是大有益处的。因此我花了一些时间详细分析了s3c2440启动文件的内容,让它作为我进入ARM领域研究的开端,希望能有一个好的起点,
2011-01-09 15:56:00 633
转载 source insight中添加.S文件
<br />(1)做ARM嵌入式开发时,有时得整汇编代码,但在SIS里建立PROJECT并ADD TREE的时候,根据默认设置并不会把该TREE里面所有汇编文件都包含进来,默认只加了.inc和.asm后缀的, .s后缀的没有。而且用SIS打开.s的文件时,一片黑白没有色彩, 感觉回到DOS的EDIT时代里了。<br /> 解决方法是在Options->Document Options里面,点左上的Document Type下拉菜单,选择x86 Asm Source File,然后在右边的File
2011-01-09 14:52:00 1697
转载 linux下gdb单步调试(上)
<br />用 GDB 调试程序<br /><br />GDB 概述<br />————<br /><br />GDB 是 GNU 开源组织发布的一个强大的 UNIX 下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像 VC 、 BCB 等 IDE 的调试,但如果你是在 UNIX 平台下做软件,你会发现 GDB 这个调试工具有比 VC 、 BCB 的图形化调试器更强大的功能。所谓 “ 寸有所长,尺有所短 ” 就是这个道理。<br /><br />一般来说, GDB 主要帮忙你完成下面四个方面的功能:
2010-12-30 09:04:00 592
转载 linux下gdb单步调试(下)
四、源代码的内存<br /><br />你可以使用 info line 命令来查看源代码在内存中的地址。 info line 后面可以跟 “ 行号 ” , “ 函数名 ” , “ 文件名 : 行号 ” , “ 文件名 : 函数名 ” ,这个命令会打印出所指定的源码在运行时的内存地址,如:<br /><br />(gdb) info line tst.c:func<br />Line 5 of "tst.c" starts at address 0x8048456 <func+6> and ends at 0
2010-12-30 09:02:00 466
转载 linux下gdb单步调试(中)
一、设置断点( BreakPoint )我们用 break 命令来设置断点。正面有几点设置断点的方法:break 在进入指定函数时停住。 C++ 中可以使用 class::function 或 function(type,type) 格式来指定函数名。break 在指定行号停住。break +offsetbreak -offset在当前行号的前面或后面的 offset 行停住。 offiset 为自然数。break filename:linenum在源文件 filename 的 linenum 行处停住。b
2010-12-30 09:01:00 1262
原创 Lesson2--进程通讯
<br />linux进程间通信方式包括:<br />1.管道(pipe)和有名管道(FIFO)<br />2.信号(signal)<br />3.消息队列<br />4.共享内存<br />5.信号量<br />6.套接字(socket)<br /><br />管道通信<br /> 单向的、先进先出<br /> 一个进程(写进程)在管道的尾部写入数据,另一个进程(读进程)从管道头部读出数据<br /> 无名管道只能用于父子进程间通信,有名管道用于同一系统中的任意2个进程间的通信<br />无名管道由pip
2010-12-27 23:45:00 523
原创 fork-wait
<br />#include <sys/types.h>#include <sys/wait.h>#include <unistd.h>#include <stdlib.h>void main(){ pid_t pc,pr; pc = fork(); if(pc == 0) { printf("This is child process with pid of %d/n",getpid()); sleep(10); } else if(pc > 0
2010-12-27 20:23:00 528
转载 本机大端/小端模式测试及解释
<br /><br />测试程序代码:<br />#include <stdio.h><br />void checkCPUendian();<br />int main()<br />{<br /> checkCPUendian();<br /> return 0;<br />}<br />void checkCPUendian()<br />{<br /> union{<br /> unsigned int i;<br />
2010-12-13 20:57:00 655
转载 linux-Vi使用方法(备查)
<br /> vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。 1、vi的基本概念 <br /> 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模
2010-12-11 11:08:00 459
转载 用GDB调试Segmentation Fault错误
调试Linux程序的时候,出现Segmentation Fault是最郁闷的事情了,程序代码量很大的时候,可能花很多时间都找不到出错原因。 这里介绍一种对你调试Segmentation Fault很有帮助的方法,可能能迅速帮助你找到出错的代码行。 这种方法需要用到Linux提供的core dump机制:当程序中出现内存操作错误时,会发生崩溃并产生核心文件(core文件)。使用GDB可以对产生的核心文件进行分析,找出程序是在什么时候崩溃的和在崩溃之前程序都做了些什么。 首先,你的Segmentation Fa
2010-12-08 17:22:00 802
转载 Linux下如何用GCC编译动态库
<br />1 为什么要使用库?<br />2 库的分类<br />3 创建自己的库<br />或许大家对自己初学 Linux时的情形仍记忆尤新吧。如果没有一个能较好的解决依赖关系的包管理器,在Linux下安装软件将是一件及其痛苦的工作。你装a包时,可能会提示你要先装b包,当你费尽心力找到b包时,可能又会提示你要先安装c包。我就曾被这样的事搞的焦头烂额,至今一提起rpm仍心有余悸,头皮发麻。说是一朝被蛇咬,十年怕井绳怕也不为过。<br /> <br />Linux下之所以有这许多的依赖关系,其中一个开发原则
2010-12-02 09:02:00 380
转载 linux库文件编写入门
<br />一、为什么要使用库文件 <br /> 我们在实际编程工作中肯定会遇到这种情况:有几个项目里有一些函数模块的功能相同,<br /> 实现代码也相同,也是我们所说的重复代码。比如,很多项目里都有一个用户验证的功能。<br /> 代码段如下:<br /> //UserLogin.h文件,提供函数声明<br /> int IsValidUser(char* username, int namelen);<br /> //UserLogin.c文件,实现对用户信息的验证<br /> int
2010-12-02 08:58:00 410
转载 在屏幕上打印0-999这1000个数字,要求不用循环,不用递规
<br />#include <stdio.h>#define A(x) x;x;x;x;x;x;x;x;x;x;int main (void){ int n = 1; A(A(A(printf ("%d ", n++)))); return 0;}<br /> <br />转自:http://www.linuxforum.net/forum/showthreaded.php?Cat=&Board=program&Number=545251
2010-12-01 08:50:00 1469 1
原创 列表型控件左右移动滚动条
菜鸟下午搞定了列表型控件的水平左右移问题,哈哈SendNotifyMessage (pFouInfo->Hhandle[0], MSG_HSCROLL, SB_LINERIGHT, int i);SendNotifyMessage (pFouInfo->Hhandle[0], MSG_HSCROLL, SB_LINELEFT, int i);
2010-11-24 16:26:00 576
原创 编辑框
<br />char temp[]="123456"; pPosInfo->Hhandle[0] = CreateWindow ("sledit","", WS_CHILD |SS_NOTIFY |WS_BORDER | SS_LEFT | WS_VISIBLE,(DWORD)logfontgb[1],IDC_MLEDIT, 100, 130, 125,25 , hWnd, 0); //设置文本上限 SendMessage(pPosInfo->Hhandle[0],EM_LIMITTEXT,
2010-11-24 11:43:00 431
转载 学生成绩管理查询系统
#include#include#includetypedef struct Link{ int number; char name[10]; char sex[4]; int Chinese; int English; int Match; int average; struct Link *next;}Student;int amount=0;Student *InitStudent(){ Student *info;
2010-11-18 09:16:00 669
转载 去掉字符串首尾空格的程序(不再声明变量)
<br />#include <stdio.h>char* trim(char* str){ if( ' ' == *str ) { while( ' '== *str ) { str++; if( 0 == *str ) return 0; } trim( str ); return str; }else{
2010-11-18 08:57:00 504
转载 Linux下的打印当前文件夹下文件的程序
#include #include #include #include #include #include int list(char* filename){ struct stat statbuf; struct dirent *dirp; DIR *dp; static int depth = 0; int count = 0; if (stat(filename, &statbuf)
2010-11-16 11:21:00 1835
转载 libxml2对XML文件的创建、解析、查找、修改
项目中要实现一个管理XML文件的后台程序,需要对XML文件进行创建,解析,修改,查找等操作,下面介绍如何利用libxml2提供的库来实现上述功能。 1、创建XML文档: 我们使用xmlNewDoc()来创建XML文档,然后使用xmlNewNode(),xmlNewChild(),xmlNewProp(),xmlNewText()等函数向XML文件中添加节点及子节点,设置元素和属性,创建完毕后用xmlSaveFormatFileEnc()来保存XML文件到磁盘(该函数可以设置保存XML文件时的编码格式)。示例
2010-11-11 13:29:00 8124
转载 C语言之详解#ifdef等宏及妙用
<br />这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。 <br /> 条件编译命令最常见的形式为: <br /> #ifdef 标识符 <br /> 程序段1 <br /> #else <br /> 程序段2 <br /> #endif <br /> <
2010-11-08 16:52:00 453
转载 判断IP输入是否有误
<br />#include <stdio.h><br />int main() {<br /> int IP[4];<br /> int i;<br /> char c;<br /><br /> printf("请输入一个ip地址:");<br /> while (1) {<br /> fflush(stdin);<br /> if (5==scanf("%d.%d.%d.%d%c",&IP[0],&IP[1],&IP[2],&IP[3],&c))
2010-11-08 15:28:00 584
转载 Linux中tty、pty、pts的概念区别
<br />基本概念: <br />1> tty(终端设备的统称):<br />tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。<br />终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。<br /><br />2> pty(虚拟终端):<br />但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就
2010-11-08 15:16:00 359
UBuntu 10.04 smb.conf
2012-01-14
kernel-devel-2.6.25-14.fc9.i686.rpm
2011-09-13
git-1.6.6.tar.gz
2011-09-13
unix-linux编程实践教程 pdf
2011-07-22
S3C2410完全开发流程.pdf
2011-07-02
The C Programming Language 第二版课后答案
2010-12-13
Linux+HOWTO-chinese.tar.gz
2010-12-09
libxml-2.6.31.chm
2010-11-17
linux实验指导书.pdf
2010-09-19
MINIGUI-API-REF-MANUAL-V1.6-E.pdf
2010-04-16
SecureCRT_v5.1.0Build263_hh
2010-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人