使用slickedit编写wince与linux跨平台c/s程序的心得

    前段时间一直在做蓝牙的连接的试验,主要目标是让arm开发版上的linux能够和我的手机上的wince之间建立蓝牙的连接进行通信.经过一段时间之后 这部分的任务终于搞定了,剩下的任务就是集中精力开发基于蓝牙的远程控制程序,让手机能够无线控制其他设备.目前在x86上的linux做了demo程 序,并且将其中的server端移植到了arm开发版上.
    在这段时间的编码过程中,主要的收获是c语言的编码以及 slickedit下利用开发环境下的一些工具加快开发的效率.
因为以前一直是用c++,今年才开始转向c,很多c的思维都已经模糊了,甚至语法也经常和c++混为一谈,通过这次的项目我又重新熟悉c的编码思维.
    另外一个收获就是如何利用开发环境有效的组织管理项目.以前在写程序的时候很少注意工作空间,项目以及编译设定(就是选debug还是release,我 不知道这个叫什么哈).但是这次这个项目有所不同,虽然项目不是很大,但是涉及到的内容却不少,有linux下的部分也有win下的部分,单在linux 下就很麻烦了--要同时写server和client两个程序,编译,并且调试.而这两个程序开始是在x86,后来又要转到arm上运行.之前在 emacs下写点小程序的我一下子不知从何入手,感觉是很简单,但是没有有效的工具来管理的话,却有觉得非常麻烦.
    后来我开始使用SlickEdit.这是个非常不错的编译环境,不论是编辑,编译还是调试都得心应手,同时我也注意到了以前在vc下就有的工作空间以及工 作区下包含项目的用意.如果是写一个单独的程序,只生成一个可执行文件的话,似乎不用注意这些,但是c/s程序要生成2个应用程序,而且要十分方便能保持 同步,应该怎么办呢?解决的办法就是设定一个工作区并在下边创建2个项目,一个为server,一个为client,需要调试的时候生成整个工作区就可以 了(现在vs.net下边好像叫解决方案,应该是一个意思).
    用这种方法来写程序的时候我遇到了一个小问题.我的目录结构是server.c和client.c在一个目录下,而大部分共同的代码在./lib子文件夹 下,然后在slickedit中分别创建2个项目,包含相应的文件,然后编译.编译的时候会将编译生成的文件放在./debug或者./release文 件夹下(看你怎么选),但是由于我两个项目在一个工作区内只会有一个./debug文件夹,编译两个项目的时候就会产生冲突,导致一些同步的问题.问题虽 然简单,但是解决毕竟要花时间.开始的时候我在环境的设置选项里找解决办法,怎么也没有找到控制输出位置的选项,后来想到自己改makefile.但是工 程文件一改变,重新生成makefile又会出现问题.最后我终于注意到了我长期忽视的编译方式选择(就是选debug还是release那个)如果是选 debug就会把编译结果放在./debug文件夹,那么我重新建立一个编译方式debugserver,就可以存放server的编译结果,在创建一个 debugclient同理.这些问题就解决了,
    之后的编写工作一直很顺利,一直到今天需要把server端的程序移植到arm上.于是有建立一个编译方式debugs_arm,设置了编译器为制定的arm-linux-gcc,指定了包含文件的位置,以及库的包含位置,一切也都顺利的搞定了.
    以上都是写很浅显的东东,只是一个总结,也希望能给一些人节省一点时间.希望大家多多交流,我的email:ifqqfi@gmail.com. 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值