Linux c/c++ 开发工具集锦
我之前是一个C程序员,而且是个Windows的程序员,在windows下使用VC6.0/VS2005等microsoft的傻瓜式工具工作,
对于那个vc 6.0/vs2005的快捷操作,debug操作是那么的熟悉,可以说vc
6.0/vs2005是window下开发c/c++最好用的工具了,可以查看调用堆栈,内存变化情况,变量值,另外安装 visual assist
x后让VC看起来是那么的完美。
但是windows下写成代码到了linux下是有问题的,所以建议在vc中将工具-》选项—》制表符—》制表符大小4,插入空格,另外的问题就是
那个回车换行的问题,例如windows下是0d,0a,到了linux下用vi看到的都是^M,给别人带来不便,所以如果提交的服务器是linux,而
你是在windows下开发,可以在svn/cvs中进行设置,就可以自动进行dos2unix的转换,相关的文档可以查看svn/cvs的相关手册,其
中都有这样的设置。
有幸这次我转到了Linux下开发,有幸认识了linux,但是随之而来的就是特别头疼的问题:Linux下使用什么工具进行编码,编
译,debug呢??我感到非常的迷茫,然后就是网上大搜索,看到那么多的网友推荐VIM时,我失望了,特别的失望,然后用VIM敲了一个下午,累的手的
麻了,感到特别的不爽,就像是用左手拿筷子一样,全身的力量无法施展,所以
我还是计划再找找看。不过后来我还是找到了适合自己的工具。呵呵,真是太高兴了,今天把我自己这几天搜集的一些资料整理一下,给以后转向linux的程序
员一点提示吧!
主要的工具如下:
1. vim + ctags + taglist + cscope + cppcomplete + global
这个我也试过了,比较有用的帖子如下:
http://www.linuxsir.org/bbs/showthread.php?t=241578
http://blog.csdn.net/wooin/archive/2007/10/31/1858917.aspx
但是这个要记大量的命令,不过还好,这些命令有两三天就可以记住了,
我这里有个简单的册子:
2、文本的操作
~
:e! file1 在当前文件下编辑新的文件
:r /etc/passwd
实现文件的读入功能
:wq 保持并退出
:q! 强行退出
O :重起一行
U:撤销 : C-R :重做
dd 删除一行 d$删除行后的
e:移动单词 ge ß----- --à e
%:括号匹配
33G:跳到33行
gg :跳到第一行
C-O /C-I来回跳转
H –HOME L –last
ma :定义标签 a,‘a:回到a
C-V文本块操作
/\匹配整个单词 :n 下一个
yy :复制一行,p:粘贴
^ 将光标快速跳转到本行的首行字符
$ 将光标快速跳转到本行的行尾字符
:m,ny
复制第
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
动态加载DLL需要使用Windows API函数:LoadLibrary、GetProcAddress以及FreeLibrary。我们可以使用DllImport在C#中使用这三个函数。
[DllImport("Kernel32")]
public static extern int GetProcAddress(int handle, String funcname);
[DllImport("Kernel32")]
public static extern int L ......
众所周知,strcmp为字串比较只用,简单的函数并不简单。
下面的代码
int main()
{
char* cp1 = {'z', 'h', 'a', 'n', 'g'};
char* cp2 = {'z', 'h', 'a', 'n', 'g'};
std::cout<<strcmp(cp1, cp2)<< ......