`
tomqyp
  • 浏览: 25630 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
      关于解决网络订票难的新思路            春运期间最热门的话题就是火车票了,而最近各大国产浏览器纷纷推出了自己的“抢票插件”,以及传闻铁道部“约谈”部分插件开发商叫停抢票插件,也让IT圈子里多出了一个热门话题。关于传闻的铁道部叫停的“抢票插件”是否合情,浏览器厂商的“抢票插件”是否合理或者合法,更是在网上引起不少争议。关于这个两难问题,我想谈谈我的一些看法。          使用“抢票插件”确实极大的方便了网民,但是略显“暴力”的刷取票额信息的方式也使得12306的互联网定票平添了巨大压力,对于这个问题我认为铁道部不妨改变思路,增加“撮合订购制”。   ...
关于D关联数组可能遇到的一个陷阱   前两天想当然的写了类似如下代码: int[X] n; n[x] = n.length; 按C的计算顺序此时n[x]的值应该是n的长度。   可是在D中,如果x不存在于n中,此时n的长度为n.length+1,即在先在n中插入一个新对象,再设置对象的值。 在D还没有用的很顺手的调试器的情况下,写出这样的代码仅靠单元测试很难找出bug的位置的,所以应该注意避免写出这样的代码。
在小舅子的电脑上好网没地方存,暂时放在这里。希望这个inotifywait比windows下人filemon好用。  原文出自:http://li2z.cn/2009/12/11/inotifywait/   监视文件系统的一举一动 ── inotifywait 某天,TX大侠说他找不到awn的配置文件在什么地方,问我知道不?而我只是在N年前用过一下下awn而已,所以,理所当然地不知道了。后来,我们想了一个土办法:在$HOME下先执行一次 tree -as > /tmp/before 然后在awn的界面里修改一下配置,再在$HOME下再执行一次 ...
  最近GDC用的比较多,总结了一些GDC的bug及解决办法: D内嵌汇编时,如果带有push FS:[0],生成的rtl和汇编代码会省掉0 D源码 push dword ptr FS:[0];   RTL代码 (asm_operands/v ("pushl %%fs:") ("") 0 []   asm源码 pushl %fs: 解决办法改GDC源码,或者加-S输出汇编代码,用sed之类的替换工具处理一下再编译。   用do while可能产生Segmentation fault错误 解决办法,改成whil ...
这两天看到论坛里对编译原理方面的问题论讨的比较热烈,可惜自己对编译原理不太了解,所以插不上嘴,心里痒的难受 今天突然想起来,以前编译ddbg时发现一个D原生的语法分析工具APaGeD,感觉解析的速度还不错,生成的代码可读性也过得去,自带的文档也比较详细,所以共享出来希望对感兴趣的朋友有用。   也可以去它的主页下载源码: http://apaged.mainia.de/
看了圈子里介绍pyd的文章很感兴趣,试了一下发现不支持python2.6。 就自己导了一个python26的lib,顺便改了几处不能能编译的小问题,在python26、d1.30、phobos环境下测试可以正常使用。  
今天,一个小错误浪费了大半天的时间。   我在一个函数中使用scope定义了一个局部临时变量,后来又无意中将其它对象赋值给这个临时变量,并进行了一些操作,当走出函数时,gc自动释放了临时变量最后所指向的对象,一但有程序再对这个对象进行操作时,就有可能引发一个av错误。   因为,离开时只会释放scope变量最后所指向的对象,而其它大部份对象却不受影响,所以错误可能会随机出现,让问题比较隐蔽。同时,发现av错误时,通常注意力都会集中在对象是否正创建和释放,而忽略了scope的影响,所以使得找出原因更加困难。
刚才和hurd讨论D的文件尺寸问题,自己尝试时发现了一点线索。   我试了一下,用-g生成的dwt程序大约3m,用-O -release(没有inline)生成的程序大约2m。   然后把它分分别反汇编了一下,release版代码段占用约40%,数据段占用约60%。(-g版是3:7) 由于代码段没什么规律性,所以大多数压缩程序对代码段的压缩比都不明显(从各压缩结果的大小比较接近代码段大小,就可以看出来) 所以关键的部分就在于数据段了。   我生成的dwt程序数据段,体积比较大的主要是以下部分: dwt中import的swt的properties文件              (文本内 ...
试用一个开源程序,发现程序在一些特定情况会陷入死循环,这种情况下没有调试工具仅凭契约和单元测试也很难找出原因,何况程序本身没有这样的代码,大范围修改也不方便,突然想到用性能分析功能也许可以很容易找到有问题的函数,试了一下没想到性能分析只有在正常退出时才有输出,强行退出并没有结果。 看了一下trace的代码,发现trace的初始化和结果输出分别是在构造和解构中自动调用的,强退时应该没有调用解构所以没有输出,只要在退出于调用一下输出函数应该就行了,于是试着写了一个小测试。 java 代码 extern (C)    {        void trace_term();        voi ...
可惜不知道是什么语言写的,当天书看喽。
刚刚接触D,本身功力又不深,所以只能写些应用级的东西,就当是学习笔记了。 ddbi是用D下的一套的数据库接口,支持: MS SQL Server & Sybase MySQL ODBC PostgreSQL SQLite 3 详细介绍见项目主页 http://www.dsource.org/projects/ddbi 下载以后解压,根据说明先编译 dmd -run buildme.d all 提示链接时一大堆函数找不到,我用的是tango用黓认库,配置了半天相关参数,没用。 于是干脆用回phobos,再编译 提示找不到bud程序,我 ...
Global site tag (gtag.js) - Google Analytics