社区
工具平台和程序库
帖子详情
要写一个在mac os ,ios ,android下通用库,需要注意哪些?
未日机甲
2011-08-24 06:01:55
现在因为工作需要,要写一个p2p文件下载模块,p2p系统是我们自己实现的,协议都是自己的。所以怎么实现没有问题的。
主要问题是,要实现这些平台下通用。可能会出现一些问题,有没有有经验的朋友,先给个提醒以免多走弯路?
...全文
586
28
打赏
收藏
要写一个在mac os ,ios ,android下通用库,需要注意哪些?
现在因为工作需要,要写一个p2p文件下载模块,p2p系统是我们自己实现的,协议都是自己的。所以怎么实现没有问题的。 主要问题是,要实现这些平台下通用。可能会出现一些问题,有没有有经验的朋友,先给个提醒以免多走弯路?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
未日机甲
2011-08-25
打赏
举报
回复
[Quote=引用 24 楼 xunxun1982 的回复:]
我刚把posix线程模型的mingw gcc移植成功
[/Quote]
恭喜移植成功~~ 继续努力~
jackyjkchen
2011-08-25
打赏
举报
回复
[Quote=引用 25 楼 bringmeback 的回复:]
引用 23 楼 luciferisnotsatan 的回复:
还有,注意下不同设备的字节序是否一样。
恩恩,谢谢提醒了,我继续设计去,近期开始开发
-
[/Quote]
其实这几家一般都是ARM,ppc和x86的andriod貌似也有,x86字节序和arm一样,ppc不一样,但基本没见过
未日机甲
2011-08-25
打赏
举报
回复
[Quote=引用 22 楼 jackyjkchen 的回复:]
跨平台不是万能的
Linux的平台移植性好在源码使用gcc风格C语言和AT&T风格汇编,而又严格要求gcc编译(ICC在Intel平台也可,只跨x86、x64、ia64)
对于那些各自为政的系统,后台大公司的商业能量往往会推动系统网封闭的方向发展,Mac OS其实何以做到和FreeBSD兼容,但现在看他和FreeBSD差别越来越大
Windows也有posix兼容层,p……
[/Quote]
嗯,其实也不是全部要跨平台的,只是公司在这几个平台的产品都要有这个功能。根据需求来的,只能这么做的
未日机甲
2011-08-25
打赏
举报
回复
[Quote=引用 23 楼 luciferisnotsatan 的回复:]
还有,注意下不同设备的字节序是否一样。
[/Quote]
恩恩,谢谢提醒了,我继续设计去,近期开始开发
-
xunxun
2011-08-25
打赏
举报
回复
我刚把posix线程模型的mingw gcc移植成功
luciferisnotsatan
2011-08-25
打赏
举报
回复
还有,注意下不同设备的字节序是否一样。
jackyjkchen
2011-08-25
打赏
举报
回复
跨平台不是万能的
Linux的平台移植性好在源码使用gcc风格C语言和AT&T风格汇编,而又严格要求gcc编译(ICC在Intel平台也可,只跨x86、x64、ia64)
对于那些各自为政的系统,后台大公司的商业能量往往会推动系统网封闭的方向发展,Mac OS其实何以做到和FreeBSD兼容,但现在看他和FreeBSD差别越来越大
Windows也有posix兼容层,posix也是可以在用户层完整实现的,不一定非得操作系统内核,但M$有意弱化posix子系统
未日机甲
2011-08-25
打赏
举报
回复
[Quote=引用 19 楼 luciferisnotsatan 的回复:]
我主要说的是windows和linux上的差异。
现在手机上的库应该还是很全的。
我见过最狠的一个设备,把wchar的那组函数都给阉割了。
[/Quote]
嗯,是的不过ios和android,都算是很成熟的平台了,应该不是什么太大的问题的
未日机甲
2011-08-25
打赏
举报
回复
[Quote=引用 18 楼 jackyjkchen 的回复:]
引用 16 楼 bringmeback 的回复:
[Quote=引用 14 楼 jackyjkchen 的回复:]
引用 13 楼 bringmeback 的回复:
引用 11 楼 jackyjkchen 的回复:
引用 7 楼 bringmeback 的回复:
谢谢大家的回复啊,我开始试着做吧,有问题再说
有些嵌入式设备连标准库STL都阉割,别说其他C++库……
[/Quote]
你的怀疑很有道理,不过不完全支持C++的特性也没有关系的吧?只要保证我的应用能运行跑就好了。反正我的程序也用不了那么多特性的。一些少的功能可能我都用不到。就用到的功能少了,也总能找到替代的方法。
不追求我写好的代码能一点不改的在各个平台上运行。只要能在一定时间内,经过各种努力达到这个目的就行了。
再我又不是第一个写这种库的人,你去查一下cocos2d一个C++的库,这个游戏开发库就同时支持ios和android还支持普通的pc。
luciferisnotsatan
2011-08-25
打赏
举报
回复
我主要说的是windows和linux上的差异。
现在手机上的库应该还是很全的。
我见过最狠的一个设备,把wchar的那组函数都给阉割了。
jackyjkchen
2011-08-25
打赏
举报
回复
[Quote=引用 16 楼 bringmeback 的回复:]
[Quote=引用 14 楼 jackyjkchen 的回复:]
引用 13 楼 bringmeback 的回复:
引用 11 楼 jackyjkchen 的回复:
引用 7 楼 bringmeback 的回复:
谢谢大家的回复啊,我开始试着做吧,有问题再说
有些嵌入式设备连标准库STL都阉割,别说其他C++库了
ios和android和普通和普通的嵌入式……
[/Quote]
一个类比,如果连“标准库”STL支持都有问题,其它的C++库可想而之,所以嵌入式设备上,C++跨平台能力显然不如C
symbian的STL就不太好,Symbian和Windows Mobile的标准C库函数都不全,没在IPHONE上做过开发,但IPHONE主要开发环境是objc,C++的支持到底怎么样我不太乐观(也许我不对),类似的Andriod的sdk是java,对于C和C++,你能保证他移植的是完整未裁剪的gcc、glibc和stdc++么
未日机甲
2011-08-25
打赏
举报
回复
[Quote=引用 15 楼 luciferisnotsatan 的回复:]
引用 12 楼 bringmeback 的回复:
引用 10 楼 luciferisnotsatan 的回复:
你们库提供的api可以通用,但你们写库时,肯定会写各平台相关的代码。
如果想自己库代码就一份通用,基本没可能
平台相关都是些界面和设置相关的吧?如果只用文件+线程+基本socket操作,应该能保证通用的。
c/c++没有socket概念,windows的s……
[/Quote]
posix有这些概念好不??我不是没有写过网络程序的。用bsd的那些最基本的socket操作各个平台都一样的。
再说这些都是小问题,几个宏就能搞定的
未日机甲
2011-08-25
打赏
举报
回复
[Quote=引用 14 楼 jackyjkchen 的回复:]
引用 13 楼 bringmeback 的回复:
引用 11 楼 jackyjkchen 的回复:
引用 7 楼 bringmeback 的回复:
谢谢大家的回复啊,我开始试着做吧,有问题再说
有些嵌入式设备连标准库STL都阉割,别说其他C++库了
ios和android和普通和普通的嵌入式环境不同的吧?ios的内核是mac os继承来的,mac os又是继承于……
[/Quot
我说的库又不是只有stl 很多库就只用了c++语法和一些系统的api,只要支持c++和posix那些库就能工作的,你说的是什么嵌入式环境啊?? ios和android的手机哪个没有上百M的内存??比XP出现的时候的PC硬件性能都高了。
luciferisnotsatan
2011-08-25
打赏
举报
回复
[Quote=引用 12 楼 bringmeback 的回复:]
引用 10 楼 luciferisnotsatan 的回复:
你们库提供的api可以通用,但你们写库时,肯定会写各平台相关的代码。
如果想自己库代码就一份通用,基本没可能
平台相关都是些界面和设置相关的吧?如果只用文件+线程+基本socket操作,应该能保证通用的。
[/Quote]
c/c++没有socket概念,windows的socket和linux的有些不同,不过你这没用到。
c/c++也没有线程概念,线程是靠系统提供的。
jackyjkchen
2011-08-25
打赏
举报
回复
[Quote=引用 13 楼 bringmeback 的回复:]
引用 11 楼 jackyjkchen 的回复:
引用 7 楼 bringmeback 的回复:
谢谢大家的回复啊,我开始试着做吧,有问题再说
有些嵌入式设备连标准库STL都阉割,别说其他C++库了
ios和android和普通和普通的嵌入式环境不同的吧?ios的内核是mac os继承来的,mac os又是继承于freeBSD .android的内核是linux,内核……
[/Quote]
怎么扯了这么多操作系统继承关系,这与STL无关,与C++也无关
STL和posix标准又没关系,C++里面也没有posix函数,Windows不遵循posix,VC的stl照样是完整的
某些嵌入式设备,Linux系统,但因为存储和性能问题不提供完整的STL,甚至连标准C库都不一定完整
未日机甲
2011-08-25
打赏
举报
回复
[Quote=引用 11 楼 jackyjkchen 的回复:]
引用 7 楼 bringmeback 的回复:
谢谢大家的回复啊,我开始试着做吧,有问题再说
有些嵌入式设备连标准库STL都阉割,别说其他C++库了
[/Quote]
ios和android和普通和普通的嵌入式环境不同的吧?ios的内核是mac os继承来的,mac os又是继承于freeBSD .android的内核是linux,内核都是支持posix标准的。如果库只用到标准C++,只要加入工程编译都没有太大的问题吧?
未日机甲
2011-08-25
打赏
举报
回复
[Quote=引用 10 楼 luciferisnotsatan 的回复:]
你们库提供的api可以通用,但你们写库时,肯定会写各平台相关的代码。
如果想自己库代码就一份通用,基本没可能
[/Quote]
平台相关都是些界面和设置相关的吧?如果只用文件+线程+基本socket操作,应该能保证通用的。
jackyjkchen
2011-08-25
打赏
举报
回复
[Quote=引用 7 楼 bringmeback 的回复:]
谢谢大家的回复啊,我开始试着做吧,有问题再说
[/Quote]
有些嵌入式设备连标准库STL都阉割,别说其他C++库了
luciferisnotsatan
2011-08-25
打赏
举报
回复
你们库提供的api可以通用,但你们写库时,肯定会写各平台相关的代码。
如果想自己库代码就一份通用,基本没可能
未日机甲
2011-08-25
打赏
举报
回复
[Quote=引用 8 楼 babilife 的回复:]
这些玩意都能用C吗?能的话就用标准C
[/Quote]
全部用C,开发效率会低很多。C++有很多很好用的库的。还好这些系统都支持C++的
加载更多回复(8)
opencv3.4.5
i
os
android
windows c++ exe
OpenCV是
一个
基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件
库
,可以运行在Linux、Windows、
Android
和
Mac
OS
操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了...
Axure9元件
库
大全(最新整理)rplib格式 高低保真
(16x16)、
i
OS
iPad、
i
OS
7-Base-UI、
i
OS
8 UI Kit、ipad、iPhone Bodies All、iPhone-Horizontal、iPhone-UI、
Mac
OS
X控件Axure部件
库
、weichat、win7phone-Library.rplib、标签滑块、弹出窗口Axure部件
库
、电子商务...
FFmpeg音视频开发实战5
i
OS
/
Android
/windows/Linux
Qt,FFmpeg跨平台开发,
i
OS
,
Android
,
Mac
,linux,桌面软件都不再是障碍。让学员能够,融汇贯通掌握音视频领域相关知识,从事音视频相关职业,年薪轻松三四十万不是梦。 付费学员加入QQ群,可获得1~3年的专业解答,...
计算机视觉+机器学习+OpenCV
OpenCV是
一个
基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件
库
,可以运行在Linux、Windows、
Android
和
Mac
OS
操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了...
unity PDFRender5.3,亲测2021.3.16,IL2CPP打包模式可用
它经过专门的构建,能够在多个平台上的 Unity 中在运行时(游戏中)读取和可视化 PDF 文件。 它只需几秒钟即可集成到任何项目中,并且“开箱即用”的工作方式让你几乎不
需要
付出额外的精力。 PDF Renderer 当前支持...
工具平台和程序库
24,854
社区成员
27,345
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章