proinsight的领域
百度空间 | 百度首页 
 
文章列表
 
2009-07-19 14:49

断断续续地学习shell2-3个月了. 遥想当年刚开始接触shell, msmouse师兄写了几个shell脚本. 俺就在命令行下调用脚本做实验, 多开了几个xshell窗口, 分别做不同的实验, 然后傻乎乎地看哪个脚本执行结束,再开始新一轮的实验. 后来才知道有&后台命令, nohup命令, crontab命令, expect语言......

俺学习shell之路:

1. 用繁琐的命令和步骤实现一个功能

2.看书, 泡BBS(CU和SMTH), 发现有简单的方法来实现以前的工作任务, 返回到1, 循环若干次><

3.认识到自己的不足和shell强大功能的魅力, 开始系统地学习.

读万卷书 行万里路.

推荐一本目前最好的关于shell的书籍: <<LINUX与UNIX SHELL编程指南>>

适用者: 非shell牛人

看这本书的同时最好看一下wingger MM在看这本书时写的总结(也可以说是这本书的bbs版:) ).

http://www.chinaunix.net/index.php?uid=20778082&url=http://bbs.chinaunix.net/viewthread.php?tid=452942

当然还有网中人兄写的shell十三问, 非常经典.

shell十三问从03年11月份开表, 08年10月最后更新. 对作者的景仰有如.... 省略万字.- . -

http://www.chinaunix.net/index.php?uid=20778082&url=http://bbs.chinaunix.net/viewthread.php?tid=218853

 
2009-06-24 22:48

只能上.cn,   com是上不去了.

gmail, gtalk这些最常用的都上不去了. 也就意味着我以后要告别电子邮箱这个东东了.

 
2009-06-24 00:15

用了一周多的时间,终于把能自动生成Makefile文件的bash脚本写完了. 功能和automake是一样的. 不过不需要那么多步. 只需简单的执行一下脚本就行. 当然也是有缺点的.只能在linux下用. 不支持其它的unix版本.

空间上放代码不太方便. 放在chinaunix(CU)论坛上了.链接:

http://www.chinaunix.net/index.php?uid=20778082&url=http://bbs.chinaunix.net/viewthread.php?tid=1488692

 
2009-06-09 15:02

生成动态库: 需要的目标文件得用-fPIC选项生成.

而静态库所需的目标文件可以不用-fPIC选项.

一个应用程序调用动态库, 而这个动态库其中的函数调用某静态库时,如何生成应用程序呢?

例:

/////// static.h

void static_print();

///////static.cpp

#include <iostream>

#include "static.h"

void static_print() {

     std::cout<<"This is static_print function"<<std::endl;

}

////// shared.h

void shared_print();

////// shared.cpp

#include <iostream>

#include "shared.h"

#include "static.h"

void shared_print() {

       std::cout<<"This is shared_print function";

        static_print();

}

////////test.cpp

   #include "share.h"
  
int main()
{
       shared_print();
       return 0;
   }

方法一:

      静态库的.o文件也用-fPIC生成. 生成动态库时把静态库加入.

     生成应用程序时只加载动态库

     g++ -c -fPIC static.cpp // 生成static.o

     ar -r libstatic.a static.o // 生成静态库libstatic.a

     g++ -c -fPIC shared.cpp // 生成shared.o

     g++ -shared shared.o -lstatic -o libshared.so   // 生成动态库libshared.so 注: -shared是g++的选项,与shared.o无关. -lstatic选项把libstatic.a的函数加入动态库中.

     g++ test.cpp -lshared -o test.exe // link libshared.so 到test.exe中.

方法二:

     静态库的.o文件不用-fPIC生成. 生成动态库时不加表态库.

    生成应用程序时加载动态库和静态库.

     g++ -c static.cpp // 生成static.o

     ar -r libstatic.a static.o // 生成静态库libstatic.a

     g++ -c -fPIC shared.cpp // 生成shared.o

     g++ -shared shared.o -o libshared.so // 生成动态库libshared.so 注: -shared是g++的选项,与shared.o无关. 这时如果加-lstatic. error:relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC

     g++ test.cpp -lshared -lstatic -o test.exe // link libshared.so 到test.exe中.

两种方法的不同之处在于static_print的实际代码一个在.so中.一个在最后test.exe文件中. 个人觉得第一种方法更好, 因为动态库应该看成一个可以独立运行的程序.

 
2009-06-02 15:33

最近写了几个project的makefile. 想保存生成的目标文件.

用automake的话目标文件都在项目的根目录上,看起来太乱.(可能有方法吧. 不细研究了). 自己动手, 丰衣足食

还好GCC有生成依赖的选项: -MM. 所以将生成依赖关系存入一个临时文件.d中. 再将.d文件做为.o的依赖项.

例如: hello.cpp

hello.d: hello.cpp

    @g++ -MM -MF hello.d -MT hello.o hello.cpp

hello.o: hello.d

    @g++ -c hello.cpp -o hello.o

这样项目是的依赖关系都不用关心了. 只有找c cpp文件即可.

不过每个项目上则快3位数的文件. 写起来也比较崩溃. 懒人有懒方法.

写个shell吧.

117 cat $infile | while read var
118 do
119     name=$var
120     read var
121     dir=$var
122     if [ "$dir" == "NULL" ]; then
123         fullname=$name
124     else
125         fullname=$dir/$name
126     fi
127     echo "./Output/.deps/$project/$fullname.d: ../../Source/$project/$fullname.$language" >> $outfile
128     echo -e "\t@echo Calculating dependencies for \"../../Source/$project/$fullname.$language\"..." >>$outfile
129     echo -e "\t@$default_compiler_name -MM \$(default_CFLAGS) -MF ./Output/.deps/$project/$fullname.d -MT ./Output/Release/$project/$fullname.o \$(default_INCS) ../../Source/$    project/$fullname.$language" >> $outfile
130     echo >> $outfile
131
132     echo "./Output/Release/$project/$fullname.o: ./Output/.deps/$project/$fullname.d" >> $outfile
133     echo -e "\t@echo Compiling \"../../Source/$project/$fullname.$language\"..." >> $outfile
134     echo -e "\t@$default_compiler_name \$(default_CFLAGS) \$(default_INCS) -c ../../Source/$project/$fullname.$language -o ./Output/Release/$project/$fullname.o" >> $outfile
135     echo >> $outfile
136
137 done

发现再把default_CC等变量加上更好. ............ shell文件越来越大.

最后一看, 呃.. 写的shell像是一个弱智版的automake. 囧...

 
2009-05-28 02:08

今天状态太差了.

250题 242分通过

500题. 一次乘法没加long long . system test failed

1000题. merge时很常见的一次情况没考虑 system test failed

希望今天的足球曼联能赢吧. 让我高兴一把~

 
2009-04-28 11:57

用最快的时间把小齐新专辑的所有歌都听了.

觉得<<嘿嘿岱日查>>这首歌很赞. 其它的歌节奏有点慢.

 
2009-04-11 12:10

今天终于把台电x19的电耗光了. 买这款mp3唯一的原因就是超长的续航能力.官方说的是70个小时(我猜是在把声音开到最小,听简单格式的结果吧). 我自己这几天测试了一下.

第一天: 13小时

第二天: 7小时

第三天: 8小时

第四天: 10小时

第五天:   9小时.

一共是47个小时. 最终对续航能力还是很满意

 
2009-02-21 23:28

今天突然上Topcoder上去看看,结果发现自己的分数又被调整了,好在没像上次那样比赛被取消了而降低.

心里平衡多了!原来在div1呆两场了,而我自己才知道. 搞笑了:)

 
2008-12-31 02:11

  又到了一年流水账的日子了,将难忘的日子在这里做一个备份吧.考研中痛苦的记忆pass掉,那可真是一个考验意志的事.以很低的分数进入了院里最好的实验室之一,但对我来说是最好的.对在学校呆了十多年的我来说,这是我头一次用实际行动证明分数并不是那么重要.发泄一下吧.我就是一个不会学习的人,只要是我不敢兴趣的,我真不想花在那上面时间.总之,付出总会有回报的,我会坚定地向我认为正确的方面前进.

  最后一次班饭,当天我们LA小组也是最后一次FA在LA组的腐败活动.可是为了班饭没有参加上.分开才会怀念,四年的大学时光就要过去了,去避风塘玩了一夜桌上足球,大一到网吧包宿,会看到许多同学都在,一起打球,听着XF的小说睡觉,还有滑冰时XX人的惨痛经历,唉.到机房去做C语言实验,编着编着变成上网了.一起逃课看火箭比赛,在上物理课时睡觉(物理老师讲的很好,不过那座位太舒服了,再加刚上完体育课).学war3,玩CH3C,和别人打赌,虽然意大利在2006年让我win了许多可乐,雪糕.但整体上仍然入不敷出.唉.谁让我是罗马球迷呢.再也不可能过那么逍遥的日子的.那时真的很开心,很开心.学校的电线杆撞个遍的SY工作了,很能吹但乐于助人的F也走了,大家的开心果--小佛现在也很少回学校看看了.呃...,跑题了.那天班饭疯狂地喝,大声地嚎.不在乎自己的仪表,那才是真实的我,和许多人说想说而以前没说的心里话.还有后来在班服上签名的活动,场面实在是太壮观了,不过后来发现我衣服上有好几个都签重了,囧,当时喝多了,看到一个如果5秒钟左右时间没找到就得签.第二天的毕业典礼反到没有我想像的那么激动,可能是知道自己在学校还得呆两年吧.然后开始一天天地送同学,不提了,很不好受.

  暑假把实验室的demo弄完后就去和LHY北京了,可惜没有奥运会的票.不过在wintim其间认识了两个大牛师兄,一个还是一本很出名的python书的作者.在smth上还看到python版的版主推荐这本书呢.SS还请我在北京吃了一次素食.在假期的最后几天跑回家呆几天.一呆在家就不想出来了.

  研一的生活开始了,再搬了N次家后终于到新公寓了,和本科的同学在一寝,哈哈,并且还是最大的寝室.爽!同时看7-8本书,没想到最终想看的书都看完了.<<Effective C++>>和<<More effective C++>>让我真正进入C++的大门了,这2本是我眼中c++的圣经.从实验室HYX师兄那学到了许多东西,问啥啥会,我都快把他当成百度知道了.觉得IR就像一个大家庭一样,相互帮助,相互成长.我以成为IRen为傲.元旦前的最后一次SRM上升了许多,可还是差2分,blue啊,今天还是没实现.呵呵.结果今天(应该是昨晚了)例会我嘴欠,说自己出一个节目,结果不得不重学一下4年没碰过的萨克斯了.终于有点困了.好了.就写到这吧.

         我的亲人和朋友们, Happy New Year!

 
     
 
 
个人档案
 
 proinsight
男, 23岁
加为好友
 
   
 
背景音乐
 
 
留言板
 
57
关注你空间几次了都感觉不错,来我空间下
2009-10-12 06:13| 回复
 
56
我刚开通百度空间,能和你交个朋友吗?想找个人教玩空间
2009-10-10 23:09| 回复
 
55
呵呵,来我空间看看吧,朋友,你空间不错,呵呵
2009-10-10 23:09| 回复
 
54
罗★聊★网 美女众多任君选 服务一流 价格低!秘密进入地址 百度搜索 CRDYD 妹妹绝★...
2009-10-09 16:37| 回复
 
52
嘻嘻.过来回踩>>但..你是边个呀??
2009-09-29 21:59| 回复
 
 
姓 名:    注册
网 址: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      
   
 
最新评论
 
文章评论|照片评论


facebook,twitter啥的也上不去,晕死
 
 
 

同无语...靠
 
 
     
 
好友最新文章
 
     
 
最近访客
 
 

emma2255

Handy_Zhou

po1po1po

edison_aziz

艾释迦

libotiantian

momoxiangni

Fandywang_jlu
     
 
在线用户
 
   
 
宠物专区
 
   


©2009 Baidu