- 博客(106)
- 资源 (16)
- 收藏
- 关注
原创 GCC静态库的另一个问题
对于C++生成的静态库,按照一般的想法去链接,会出现所有的符号都无法找到的错误。这里所谓的一般的想法就是把源文件放在最后边,如:g++ -o test.exe -L"." -l"t" test.cpp,那么得到的错误信息为::test.cpp:(.text+0x31): undefined reference to `t::Test::Test()':test.cpp:(.text+0x3
2009-08-28 16:57:00
1173
原创 GCC动态链接库和静态库
利用MinGW,针对前一篇文章(C++继承与引用)中的例子,可以生成动态链接库。生成DLL:g++ -D"TEST_EXPORTS" -shared -o libtest.dll test.cpp利用该dll生成exe:g++ -D"TEST_IMPORTS" T.cpp -l"libtest" -L .这样会生成a.exe,依赖于libtest.dll。命令中-l"libtest
2009-08-24 15:01:00
3321
1
原创 C++继承与引用
//test.hpp#ifndef TEST_H#define TEST_H#ifndef TEST_API#define TEST_API#endif#ifdef TEST_EXPORTS#undef TEST_API#define TEST_API __declspec(dllexport)#endif#ifdef TEST_IMPORTS
2009-08-24 14:59:00
1908
原创 C++关于Dll
如下三段代码://test.hpp#ifndef TEST_H#define TEST_H#ifndef TEST_API#define TEST_API#endif#ifdef TEST_EXPORTS#undef TEST_API#define TEST_API __declspec(dllexport)#endif#ifdef TEST
2009-08-24 14:58:00
1121
原创 GCC的make初探
使用make编译一个工程的有点自不必赘言,我也是刚开始试探性的试用一下,以MinGW作为对象,稍作参考。make中有很多Automatic Variables,可以帮助节省工作量,以下将其逐个写出,参考自The Linux Programmer’sToolbox, John Fosco, 第84页(英文版)。Variable Value$@
2009-08-24 13:42:00
1007
原创 SQL语句中的单引号
SQL语句中如果使用单引()号来包围字符型数据,那么就无法在数据中添加单引号。解决方法是使用两个单引号(),那么前一个单引号就相当于普通语言中的转义符(/)。在很多文章或者程序代码看到,不明意思,以为是将双引号(")错写为了两个单引号呢。参考自http://book.77169.org/3928/3928213.htm记录于此,留作参考。
2009-08-23 09:39:00
1391
原创 Boost初探
初次研究Boost库,本文内容主要基于http://www.stlchina.org/twiki/bin/view.pl/Main/BoostEnterBoost和http://www.boost.org/doc/libs/1_39_0/libs/filesystem/doc/index.htm。Boost中部分库需要首先编译为dll文件才能使用,而多数库来说是可以直接使用的(根据第一
2009-08-23 09:39:00
1310
2
原创 使用xerces-c生成XML并输出
今天试用了xerces-c,我觉得果然好像还是不如Java版本的XMLapi好用。当然是个人愚见。对于创建XML实例还是比较简单的,而要输出到屏幕则着实费了一番脑筋。在baidu、google上都难以找到实例。后来我想到它的samples中有类似的例子,就下载源码来研究。最后做了一个非常简单的版本。代码如下:#include #include #include #i
2009-08-18 14:53:00
2761
原创 24点游戏算法及实现(后缀表达式思想)
一般而言,我理解的24点游戏是用4个数字经过数学运行,得到24. 一般推广版的应该使用扑克的52张牌(出去大小王),A表示1,K表示13.任意4张牌看是否能够组合得到24.我这里所设计的就是这样的情况,而不是任意的4个数。(因为这里需要用一个办法表示分数,而我使用了比较简单的一种,能表示范围较小,所以我只处理了1到13这个情况。虽然实现里边可以将13这个范围向上推一段。)4个数进行四则运算
2009-06-18 14:10:00
4031
2
原创 关于7z、Zip、Rar等的实验
以前在别的帖子上看到说Zip的压缩速度高于Rar(远高于),我知道Zip的文件压缩率小于Rar(在我所遇到过的情况),而7z据说压缩率和速度上都有优势。今天,我下载了7z,然后进行了几次试验。以下实验数据都是在我的2.2GHz的双核、2G的内存、160GSATA硬盘的笔记本上得出的。数据源是两个视频文件:rmvb格式126,039,757 字节,wmv格式39,931,918 字节,我使用这两
2009-06-14 19:45:00
8371
5
转载 VC版送别
别人的blog上看到的(http://user.qzone.qq.com/352629503/blog/1240579489),转载于此,我已测试,确实可行。#include "windows.h"#define ONE_BEEP 600#define HALF_BEEP 300#define NOTE_1 440#define NO
2009-06-12 23:21:00
1142
原创 算法的力量
一直以来我们都说算法是很有力量的,以前程序员杂志也有一起专门讲算法的力量,李开复的文章就叫这个名字。我一直觉得算法很重要,但是一直没有深入研究过。今天看《编程珠玑》,第一个问题就体现出了算法的巨大力量。书上大致是这么一个故事:一个程序员要对拥有10 000 000条7位数的文件进行排序,而可使用的内存只有1M。这应该怎么做?一般来说,如果没有那个1M的限制,在现在的拥有大量内存的机器上,我
2009-06-12 22:44:00
1046
原创 C语言Signal
Signal在Linux/Unix编程中很重要,但是在Windows中不那么重要,我在google上搜索的时候多数都会更Linux联系起来。Linux上的Signal数量比Windows上的多得多,Windows上只有7种,而根据网上某些人的说法,Linux上可以自己定义一个Signal,然后对其使用signal函数和raise函数,但是在Windows上不行,我查看了VC2005的CRT
2009-06-03 22:02:00
2595
原创 C++编写Windows服务
使用C++编写Windows服务,我所看的文章如下(红色的"="以内,来自http://www.programfan.com/article/2920.html):==============前一段时间我写了一篇通过写服务的形式来达到一些监视程序运行的目的的文章,至于如何在windows下写服务我没有详细介绍,今天就让我们
2009-06-03 13:42:00
5025
原创 Base64 编解码C语言实现
本文继续前文(http://blog.youkuaiyun.com/HegcH/archive/2009/05/01/4141125.aspx),前文讲述了如何实现Base64的编码,本文给出解码的代码。这里给出的代码是整个完整的编码和解码,将加密之后的串解密得到原来的字符串。具体代码如下:#include const char base[] = "ABCDEFGHIJKLMNOPQRST
2009-05-29 10:47:00
1902
5
原创 C语言写硬盘--接读硬盘
继续上一篇关于读取磁盘的问题(http://blog.youkuaiyun.com/HegcH/archive/2009/04/28/4134289.aspx),今天我用我的优盘试验了一下。我的优盘是FAT格式的,使用UltraISO提取为硬盘镜像之后跟我使用那个程序读取出来的数据进行对比,发现镜像的第 33个扇区数据时候与读取的数据开始完全一致。我找了不少关于MBR的内容看了,没有很明白,但是对照说明查
2009-05-23 13:42:00
2022
原创 C语言二叉树实现及搜索算法
本文利用C语言实现了简单的二叉树,每个结点只保存一个整数,并且,由于非常简单,树的根结点是确定的,而不是输入的。确定根结点以后,用户输入的每一个数都被insert(为什么不许使用CHA Ru啊!!!!!!!)到树中(-999表示停止),利用深度优先的方法。建立好二 叉 树以后,分别利用深度优先(DFS)和广度优先(BFS)进行了遍历,输出结果。需要注意的是,代码中btree表示binary
2009-05-05 15:20:00
3751
原创 C语言异或及文件操作之疑惑
异或,逻辑运算,运算规则为:T^F=T, T^T = F, F^F = F。并且有 a = b^c, b = a^c。因此可以简单的利用该方法加密解密。我使用了如下的程序:#include const char c = 0x49;int main(int argc, char *argv[]){ FILE *f = NULL; FILE *p = NULL; char
2009-05-04 21:16:00
2593
原创 C语言struct中的位域
位域的思想参考了http://hi.baidu.com/luckymouse2009/blog/item/e08f5d4e912b993eaec3abb5.html,我使用如下的例子来简单说明:#include static union{ struct { int c : 5; int b : 6; int a : 5; }b;
2009-05-01 12:54:00
1383
原创 Base64 Encode C语言实现
今天使用C语言实现了Base64的加密,Base64的理论参考了http://hi.baidu.com/gaojinshan/blog/item/a10d26f82b7b630ad9f9fde2.html的内容,但是实现没有参考,我可以保证。代码比较混乱,大家将就着看吧。主要方法是base64_encode,它需要两个参数,需要加密的字符串和它的长度(虽然长度也可以在该方法内得到,这一点参考了
2009-05-01 00:17:00
4856
原创 在Windows中读取硬盘
今天太无聊了,突然想直接使用C语言读取硬盘看看,看了下网上有使用biosdisk函数的,但是Windows下这个函数已经没有了(VS2005),后来在这个地方(http://www.cqzol.com/programming/c/200803/81345.html)找到了一个方法,利用CreateFile和ReadFile函数来操作。(WriteFile可以直接写扇区,太危险,我就不实验了)。利用
2009-04-28 21:06:00
2976
2
原创 两个无题
一面经年,成其姻缘。缘重三分,卸甲归田。田荒可耕,心芜何生。生也有涯,情可填海。海涨皓月,日出东山。山关难越,谁解心思。思伴云飞,载我真言。言之凿凿,不敢有三。三生有幸,幸得良缘。原作于2009年3月6日 其二: 长风应记恨,满园不见春。
2009-04-06 20:37:00
750
原创 C语言动态库的问题---Windows下使用VC
我记得有一种比较老式的方法是使用一个DEF文件来表明哪些函数是用来导出的,现在已经多不用该方式,而是使用__declspec(dllexport)的关键字。下边展示一种老方式的:/*第一个文件 x.h*/#include int print(int a);/*第二个文件 x.c*/#include "x.h"int print(int i){ printf("%d/n", i
2009-04-06 19:53:00
1287
原创 Google App Engine
昨晚注册了一个GAE,但是昨晚始终不能登陆上去,今天行了,upload了一个简单的实验页面上去,可以访问,嘿嘿。我的地址是 http://hjjandy.appspot.com 记下以下内容备忘:使用appcfg.py的时候应该是:appcfg.py update hjjandy/ hjjandy/ 下边的app.yaml中的application应该置为“hjjand
2009-03-15 13:51:00
688
原创 Python实现的通讯实例
使用python自带的Tkinter实现了一个类似于QQ的客户端,但是需要知道对方的IP地址才能连通通信(在局域网内实验成功),对于诸如什么NAT等问题也没有考虑过,而且,界面简单,很多地方没有仔细琢磨,字体非常的小,都快看不清了(使用的默认字体)。程序中使用了线程机制。具体代码如下:#coding: UTF-8from Tkinter import *from Scrolle
2009-03-14 13:37:00
1209
原创 XP下UDFS的问题,涉及注册表
;启用UDFS驱动,注意可能要修改注册表Root键的可访问权限 [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_UDFS] "NextInstance"=dword:00000001 [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Enum/Root/LEGACY_
2009-03-07 19:20:00
1177
原创 这是为什么呢?
这几天因为做毕业论文,在中文期刊网上找了一些文章阅读,发现不少同名的文章,本也不是奇事,但是今天居然读到了两篇一样的文章,不同学校的不同坐着在不同的年份发表到了不同的杂志上,如果论文里边有什么不同的话,就是摘要是否(多)少两个字,参考文献是否(多)少两篇。根据中文期刊网上的信息,一篇发表于 黑龙江科技信息 2007/08 ,另一篇发表于 网络安全技术与应用 2006/12 。两篇文
2009-03-02 14:39:00
870
原创 VS2005命令行问题-manifest
默认情况下cl命令使用/MT选项,即静态链接libcmt.lib,因此文件一般较大;使用/MD选项,动态链接msvcrt80.lib,产生不可缺少的manifest文件,程序一般较小。在生成manifest文件之后(cl /MD 或者使用link等)可以使用如下的命令将manifest文件嵌入到exe文件中:mt.exe -manifest MyApp.exe.manifest -ou
2009-02-28 20:15:00
1046
原创 新年贺诗及其他
新年祝贺一:金牛傲首啸霜天顽鼠遁迹迎新年轰雷响彻九霄上佛仙随君把梦圆偷闲浮生三两事贪杯须臾八九钱破鞋岂说无用武蓬蒿踏尽上青天 新年祝贺二:落日送旧人晨辉迎新春往来岂蹉跎谁人自叮咛 闻好友觅得女友,分别两地,有感而发:难耐相思夜愁煞两地人未狠时日短共赴巫山云 祝友生日快乐,携女伴同游:生当驱五胡红日耀鹏程立马快意省岂憾乐游情
2009-02-20 13:45:00
1173
原创 新的一年,莫把青山当柴烧
时间,总是转瞬 过去,已是记忆 明天,听不见的召唤 渐行渐远 江上清风 君子取之有道 山间明月 莫笑痴人聊了 青山外夕阳红 野火烧尽 莫让根也成了焦 青春失去年少 风霜爬上眉梢 信念守护的 是未来的大道 新春新贺,谨祝各位新年快乐,健康平安,幸福美满。
2009-01-01 22:58:00
1370
原创 20皇后有多少解
利用八皇后的C语言实现一文中实现的方法计算各种不同的数目的皇后有多少种解,我最后得到了以下4个结果8皇后:耗时:0结果:92总共步数:3, 92010皇后:耗时:31结果:724总共步数:69, 61812皇后:耗时:750结果:14200总共步数:1, 683, 96415皇后:耗时:217828结果:2, 279, 184总共步数:337, 699, 759这里耗时是以毫秒计算(将所有的打印结
2008-12-24 11:33:00
2930
原创 Quick Sort
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font
2008-12-22 16:28:00
923
原创 C#实现一个贝赛尔艺术
看C# Windows程序设计的第十三章,作者Petzold实现了一个bezier art,然后我稍微改变了一下颜色变换,觉得非查的神奇,这里将代码贴出来,需要申明的是,这个程序代码绝大部分是原作者的://BezierArt.cs//build BezierArt.cs PrintableForm.cs /main:BezierArtusing System;using System.Drawin
2008-11-29 22:03:00
1266
原创 汉诺塔的C语言实现以及冒泡排序
汉诺塔绝对是一个经典的算法题目,虽然当年也讲过,程序也不长,但是一直以来总觉得理解的不清楚,看程序也能明白什么意思,过一段时间程序忘了,想不起来的时候,就怎么都想不明白了,虽然说好像是那么回事,就是高不明白。借着前两天做八皇后的东风,顺便来理一下这个汉诺塔。园盘从上到下编号1, 2, ..., n,杆子从左至右A,B,C,A是from,C是to。我还是看了以前的java程序然后自己理解一下写的C程
2008-11-17 08:27:00
1247
原创 八皇后的C语言实现
唯一的一门语言课Java课上老师讲过这个问题,使用“回退”的方法,期末考试也考过,但是这么多年来一直没有亲自去做过它,即使偶尔想到也觉得太过麻烦,没有那个能力实现。但是前两天一个兄弟作出来了,我觉得我也应该作出来,要不然实在没面子,于是使用C语言来实现一下。一开始,我使用struct(A)来保存每一个皇后的位置,另外使用了一个struct(B)来保存当前列之前所有列中已放过皇后的位置,以防重复处理
2008-11-15 08:36:00
2265
1
原创 ARP--C语言Windows实现
首先说明,此文中很大部分都是转摘的。我首先介绍源程序来源: http://industry.ccidnet.com/art/1101/20050727/625891_1.html这里的程序是根据MSDN http://msdn.microsoft.com/zh-cn/library/aa366358(en-us,VS.85).aspx 上的程序改编,但是某些地方有少许问题,导致结果错误。我查看源
2008-11-09 00:17:00
2590
原创 Python中的数值范围--阶乘测试
以前仿佛听说过Python中的数据范围很大,今天使用阶乘试验了一下,如果不超过预定的递归范围1000的话,简单的Python可以表示很大的数据。如下:def jiechen (i): if i>1: return jiechen(i-1)*i else: return 1if __name__ == "__ma
2008-10-13 13:35:00
3405
How to give a successful oral presentation
2009-05-20
Assembly Language Step-by-Step: Programming with DOS and Linux, Second Edition
2009-04-28
Sams_Windows_Presentation_Foundation_Unleashed_WPF_XAML_ebook.pdf
2009-01-08
Applications = Code + Markup A Guide to the Microsoft Windows Presentation Foundation.chm
2009-01-08
Literate Programming
2008-08-06
蠕虫C代码
2007-08-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人