开始学Linux编程及经验分享
前一段时间在写GUI部分,在设计GUI体系的时候,我参考了诸多实现,包括最熟悉的 Win32API,还有在前两年无聊时看过一些GTK+文档,对GTK+的类层次设计有些了解。去年听说JAVA的swing不错,又搜了些swing的说明来看。然后分别下载了GTK+,JDK(swing),wxWidget,QT,CEGUI等等GUI库作参考。
后来在设计的时候遇到了点困难,先把GUI放了放,转而研究 Vector, Matrix 等3D相关的数学库了,到现在vector,matrix都已经完成了,所有D3DX库有的应函数都实现了一份,大部分采用asm+sse完成,运行速度比D3DX库更快:)。只是在写Quanternion遇到点困难,没找到比较快的arc cosine算法。准备先放一放。然后回头去写GUI库。
上面的说的那个设计难题很快就解决了,现在Windows下已经有了点雏形,开始考虑向linux下移植,以前没怎么用过linux,到网上一看,天啊,老多linux了,各种版本如SUSE,debian,Ubuntu....看得我眼都晕了。最后选了ubuntu。这不,这篇文章就是在 ubuntu7.04 下 firefox 中写的。
刚开始用gcc还正有些不习惯,好多东西都和vc不同,还好通过网络遇到的一些问题都解决了,Internet太好太重要了,google太伟大了。假如没有这两个,简直不敢想象学习新知识是怎么一副情形了。
顺便把学X的一些东西记录下了。
1. gcc的默认 include 是在写死的 /usr/include, /usr/local/include。要指定其他的路径需要用-I参数。
2.Xlib.h在/usr/include/X11下,对应的库文件是 /usr/lib/libX11.so。
3.库文件总是lib开头的,gcc用 -l指定连接的库文件时不能写前面lib三个字母如连接Xlib库写 -lX11。
4.gcc编译c++时,需要连接 libstdc++库(命令行参数 -lstdc++),否则会有连接错。
后来在设计的时候遇到了点困难,先把GUI放了放,转而研究 Vector, Matrix 等3D相关的数学库了,到现在vector,matrix都已经完成了,所有D3DX库有的应函数都实现了一份,大部分采用asm+sse完成,运行速度比D3DX库更快:)。只是在写Quanternion遇到点困难,没找到比较快的arc cosine算法。准备先放一放。然后回头去写GUI库。
上面的说的那个设计难题很快就解决了,现在Windows下已经有了点雏形,开始考虑向linux下移植,以前没怎么用过linux,到网上一看,天啊,老多linux了,各种版本如SUSE,debian,Ubuntu....看得我眼都晕了。最后选了ubuntu。这不,这篇文章就是在 ubuntu7.04 下 firefox 中写的。
刚开始用gcc还正有些不习惯,好多东西都和vc不同,还好通过网络遇到的一些问题都解决了,Internet太好太重要了,google太伟大了。假如没有这两个,简直不敢想象学习新知识是怎么一副情形了。
顺便把学X的一些东西记录下了。
1. gcc的默认 include 是在写死的 /usr/include, /usr/local/include。要指定其他的路径需要用-I参数。
2.Xlib.h在/usr/include/X11下,对应的库文件是 /usr/lib/libX11.so。
3.库文件总是lib开头的,gcc用 -l指定连接的库文件时不能写前面lib三个字母如连接Xlib库写 -lX11。
4.gcc编译c++时,需要连接 libstdc++库(命令行参数 -lstdc++),否则会有连接错。
相关推荐
zhangm 2020-11-10
liumeng 2020-05-14
随心而作 2020-03-03
VanTYS 2020-02-21
fengyeezju 2020-02-09
嵌入式移动开发 2020-02-02
vvvvainman 2010-02-02
gzweihuo 2011-07-13
鹤之淇水 2019-09-06
李晨璐十五期 2009-07-12
tmj 2020-09-23
zhuxianfeng 2020-06-09
fangxiaoji 2020-05-31
zwt00 2020-05-29
GeekWill 2020-05-22
HMHYY 2020-05-19
AndroidAmelia 2020-05-19
JasonYeung 2020-05-09
taishanduba 2020-04-29