摘要:
前几天写了个小工具,因为在安装的时候需要一天安装玩几十台机器,因此为了方便需要写个程序可以同时直接生成配置文件,省得到时候要一台一台地配置,时间比较紧迫,临时学习了下XML,写得很仓促,半天学XML和wxwidget操作XML,不得说XML确实很麻烦,不知道当初配置文件为什么选用XML,后来据说是因为写这个的程序员喜欢新技术....因为在写XML的时候需要一个个保存每个节点要创造什么,每个key对应一个val,刚开始用一个结构体,里面保存了这个节点的name,val,func,就是没有保存key,其实结构体里面把函数换成key会更好,因为我最后看了下代码,其实所有的操作就key和val不同,所 阅读全文
摘要:
int main(void){ BOOL fOk = FALSE; HANDLE hFileSrc = CreateFile(_T("test.txt"),GENERIC_READ,FILE_SHARE_READ,NULL, OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL); HANDLE hFileDest = CreateFile(_T("cpy_test.txt"),GENERIC_WRITE,0,NULL,CREATE_ALWAYS, FILE_FLAG_OVERLAPPED,NULL); if (h... 阅读全文
摘要:
1 #define offsetof(TYPE, MEMBER) ((size_t) & ((TYPE *)0)->MEMBER )宏功能:获得一个结构体变量成员在此结构体中的偏移量。1. ( (TYPE *)0 ) 将零转型为TYPE类型指针;2. ((TYPE *)0)->MEMBER 访问结构中的数据成员;3. &( ( (TYPE *)0 )->MEMBER )取出数据成员的地址,即相对于0的偏移量,要的就这个;4.(size_t)(&(((TYPE*)0)->MEMBER))结果转换类型,size_t应该最终为unsigned int类 阅读全文
摘要:
这段时间因为项目需要,学了下window编程的录音和播放,以前没接触过这方面,网上资料也少,只能自己慢慢鼓捣了,鼓捣了5天才写出来,还有界面要用flex,以前也没接触过这方面,也自己慢慢鼓捣,不过还算快,3天基本可以学会,网络编程也学了广播,昨天开始搞组播,但是要装linux虚拟机,虚拟机速度慢,现在还在更新,昨天下午到今天早上还都不能上网,怨念啊还学了汇编,虽然之前这些就知道得差不多了,但是没有实践的话还是不心安,还是拿起<<intel汇编语言程序设计>>来看,本来学了汇编后想学反汇编或者说写操作系统,但是看了下发现还是放下吧,方向改为网络,打算今年把TCP/IP协议 阅读全文
摘要:
或许以后可能会自考,需要考线性代数,最近在准备线性代数的东西,原本是买了<<线性代数及其应用>>的书,然后配合麻省理工大学的那个教授的视频看,网上给这两个的评价都很好,豆瓣上是给线性代数及其应用的书9.0分的评价,视频在VC和网上更是赞誉不断,但是看下去后越看越糊涂,刚开始矩阵运算方程式计算还可以,这些之前初中都有自己摸索过了,到了行列式基本算是整个人都斯巴达了,虽然不认为自己算是天才级的人物,但是起码智商也还可以,搞得自己有点失去信心,后来土豆网上找了吉林大学的远程教育视频才开始搞懂什么是行列式 想想不是第一次这样了,记得之前学C,windows,数据结构都是这样,受 阅读全文
摘要:
deb ftp://ubuntu.realss.cn/ubuntu/ lucid main restricted universe multiversedeb ftp://ubuntu.realss.cn/ubuntu/ lucid-backports restricted universe multiversedeb ftp://ubuntu.realss.cn/ubuntu/ lucid-proposed main restricted universe multiversedeb ftp://ubuntu.realss.cn/ubuntu/ lucid-security main res 阅读全文
摘要:
把C语言翻译成汇编语言if(dx<=cx) x=1else x=2main PROC mov edx,4 mov ecx,5 cmp edx,ecx jle L1 mov x,2 jmp nextL1: mov x,1next: mov eax,x call WriteDec retmain endpif(bx>cx) x=1 mov eax,4 mov ebx,5 cmp eax,ebx jg next mov x,1 mov eax,x call WriteDecnext: retif(Val1>cx AND cx>dx) X=1else X=2.dataX DWO 阅读全文
摘要:
C语言里面AddTwoint AddTwo(int x,int y){ return x+y;}翻译成汇编可以翻译成这样:AddTwo PROC push ebp mov ebp,esp mov eax,[ebp+12] add eax,[ebp+8] pop ebp ret AddTwo endp然后main函数调用:main PROC push 6 push 5 call AddTwo call WriteDec retmain endp程序执行如下图但是上面会发生内存,因为在addTwo执行完毕后,esp如下图:这样程序返回后就会跳到5处执行,所以程序最后会发生如下图的错误:可以用这种方 阅读全文
摘要:
原文地址:http://zhedahht.blog.163.com/blog/static/254111742011125100605/看到这个的题目第一个反应就是位运算,但是想不通怎么进行位运算,看了后面才知道,博主举了个例子就是5+17不进位,算出5+17=12,如下图,就是小学生的运算,下面的1就是进位这样最后12+十位的1就是22同样,二进制也可以,5的二进制是101,17是10001,运算方法 00101+ 10001—————— 10100+ 10—————— 10110最后运算就是10110就是22了从这里也可以看出来,二进制里面,1+1和0+0,原位为0,1+0原位为1,和异或 阅读全文
摘要:
看Intel汇编语言程序设计的,感觉蛮有意思的 1 INCLUDE irvine32.inc 2 3 .data 4 CaseTable BYTE 'A' 5 DWORD PROCESS_A 6 EntrySize = ($ - CaseTable) 7 BYTE 'B' 8 DWORD PROCESS_B 9 BYTE 'C'10 DWORD PROCESS_C11 BYTE 'D'12 DWORD PROCESS_D 13 NumberOfEntries = ($-CaseTable)/EntrySize14 prompt B 阅读全文