• 最近不怎么用debian了

    日期:2009-05-08 | 分类:

    可能用.net多一点,这个地方还是什么东东都写吧。杂货铺

  • 用visual studio 2005编译调试postgresql

    日期:2009-04-29 | 分类:

    这几天用visual studio调试用得及其舒服和爽快。于是想把pgsql搬到vs05下来调试。

    环境: windows xp sp3 + visual studio 2005 postgresql-8.3.7 + perl 5.8.8

    步骤:
    安装perl到c:\perl 设置path
    把pgsql所在文件夹权限设置为guest全部控制(如果你准备用admin用户就算了,这一步不用)
    修改config.pl文件 设置perl 位置 注释掉其他
    修改contrib\fuzzystrmatch\dmetaphone.c文件 注释掉拉丁字符
    用guest用户打开一个cmd(如果想用admin用户的话 修改src\backend\main\main.c 文件 注释掉checkroot()一行)
    修改path 加入msbuild.exe路径
    进入 msvc目录
    perl build.pl DEBUG
    perl install.pl ~\bin
    initdb.exe --no-locale myDatabase< br \> 在VS2005中设置Debug程序为"bin\bin\postgres.exe"(注意这一点), 输入参数为"-D myDatabase -d 4"(-d 4是为了输出更多信息,可以去google一下), 运行目录为"bin\bin\"

    开始设置断点吧 enjoy debugging

  • sc config

    日期:2009-04-11 | 分类:

    sc config apache2 start= demand/auto/disabled

    sc start

    sc stop

  • 几个笔试题

    日期:2009-04-01 | 分类:

     

    1. 库函数调用和系统函数调用的区别?
    2. 动态链接和静态链接的区别?
    3. try{}函数体里有一个return 语句,那么finally{}会不会执行?如果会,在什么时候?
    4. new/delete和malloc/free的区别?
    5. 黑盒测试和白盒测试的区别?
    6. overload和override的区别?
    7. c++里虚函数表vtable的作用?

    1. 系统调用是为了方便应用使用操作系统的接口,而库函数是为了方便人们编写应用程序而引出的.若干个库函数可以映射到一个系统调用入口点.可以改写库函数,但是不能改写系统函数.
    2. 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。
      比如 你有  a.elf b.elf  两个文件都使用 libc.a 里面的printf函数  ,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。
    3. 会在return之前执行。
    4. malloc和free都是C/C++语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据结构型的对象而言,光用malloc/free无法满足动态对象的要求。对象在创建时要自动执行构造函数,对象在消亡前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。总之,new能完成动态内存分配和初始化工作,delete能完成内存清理和释放内存工作。new/delete不是库函数,而是运算符。
    5. 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
      白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。
    6. override(重写)
      1、方法名、参数、返回值相同。
      2、子类方法不能缩小父类方法的访问权限。
      3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
      4、存在于父类和子类之间。
      5、方法被定义为final不能被重写。
      overload(重载)
      1、参数类型、个数、顺序至少有一个不相同。
      2、不能重载只有返回值不同的方法名。
      3、存在于父类和子类、同类中。
    7. 暂时还不会。
    总之,是没戏了。
  • 换了个输入法ibus

    日期:2009-03-22 | 分类:

    用烦了scim,看到csdn上有人说ibus不错,不细说了,上步骤。

    wget http://archive.ubuntu.org.cn/ubuntu-cn/dists/intrepid/main/binary-i386/ibus/python-dbus_0.83.0-1_i386.deb
    wget http://archive.ubuntu.org.cn/ubuntu-cn/dists/intrepid/main/binary-i386/ibus/ibus_0.1.1.20081106-1_i386.deb
    wget http://archive.ubuntu.org.cn/ubuntu-cn/dists/intrepid/main/binary-i386/ibus/ibus-pinyin_0.1.1.20081106-1_i386.deb

    sudo dpkg -i ibus_0.1.1.20081106-1_i386.deb
    sudo dpkg -i python-dbus_0.83.0-1_i386.deb
    sudo dpkg -i ibus-pinyin_0.1.1.20081106-1_i386.deb
    im-switch-c选ibus然后ctrl+alt+back注销重新登录

    中途遇到的问题,ibus:依赖: libgtk2.0-0 (>=2.14.1) 于是又去找了个源
    sudo vim /etc/apt/sources.list
    加入deb ftp://ftp.debianclub.org/debian/ unstable main #contrib non-free
    deb-src ftp://ftp.debianclub.org/debian/ unstable main #contrib non-free
    #deb http://security.debian.org/ stable/updates main
    apt-get install libgtk2.0-0

  • Hello World!

    日期:2009-03-21 | 分类:

    也许以后就要一直活在这个系统下了,这里用来记录平时的文档。