加上-fPIC -shared标志编译控制台应用程序,然后把产生的文件名改成so就可以了。
对于楼上的,其实我不是很了解Android,我只知道我用CodeBlocks编译出的是16位的exe文件的控制台文件,在虚拟机上可以运行,现在也可以断点。
我主要也是在windows下写一些库,然后可以很方便的移到别的平台,有了CodeBlocks,我可以不需要重新建工程,可以直接编译这些库。so文件就已经是经过编译的C程序
而dll文件是编译好的动态链接库文件,需要用rundll32exe来执行,或者载入shell执行。
所以so和dll不能互换。
在linux下面直接用gcc编译器就能编译。
命令格式:
gcc 文件名 C源码文件名
例:
gcc 123so 123c
===========================================
dll的就是已经编译成功的了,不能再被编译。
就像生孩子,已经是女孩了,你还能捅回去再换
个男孩出来?
===========================================
Windows软件开发,不仅有C/C++、还有Java、C#,甚至JavaScript也加入了桌面应用开发的阵营
C++方向
作为一名主业为C++的开发工程师,当然是首推C++了,用它来写Windows软件,还是很香的,这里重点推荐两个界面库。
Qt
这个也是C++界面开发首推的UI库,是一套跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序。文档齐全,API设计优雅,原生态跨平台支持,在国产化盛行的今天,相信Qt的市场也会越来越广阔。Qt新版本提供的QSS可以让你像Web当中CSS那样优雅的写界面布局代码。
下图是使用Qt内置的QSS绘制的一个界面换肤效果图,还是很绚丽的(PS:作品来源于CSDN,博主:一去丶二三里,如有侵权,请随时联系)。
MFC
虽然业界流传MFC=没饭吃、MFC要淘汰了但是这么多年过去了,这玩意还是没有淘汰,只能说是落幕了,需求越来越少(然鹅,并没有绝迹)。
如果题主的需求是做一些自用的小工具,如果界面要求不是很高的话,那么选用基于MFC的Dialog对话框模式还是很方便的。无论是自用或者是他用,简单的将静态编译完成的exe发送给其他人就可使用,不用过多的依赖库。
温馨提示:
如果是选择就业方向的话,不建议选择MFC。
C#方向
微软主推的编程语言,与宇宙第一IDEVisualStudio配合的天衣无缝,通过简单的拖拽即可完成界面元素的布局。仿Java而生,目的就是取代Java,然而其结果是显而易见的,PC端程序开发已经落幕,在Web端,C#似乎跟Java不在一个重量级上。
考虑到微软的技术更新换代实在太快了,比如WinForm和WPF被全面移植到NETCore。在这5G时代、人工智能、大数据各种浪潮的年代,实在没有必要再去追逐微软了。
JavaScript方向
考虑到题主的语言技术栈,主要偏向Web方向,开发Windows软件的话,隆重推荐下Electron。可以让你使用纯JavaScript调用丰富的原生( *** 作系统)APIs来创造桌面应用,大名鼎鼎的VSCode、Atom就是使用该开源库来完成的。让人们感觉JS真的有一统天下的趋势(Web、移动端、PC客户端)。
至于Java、PyQt之流,这里就不再推荐了。毕竟Python的设计初衷就不是让你来写Windows客户端开发的,而Java,重心也早已转移到Web端和移动端了,JavaSE开发的客户端程序已经很少见了。
是在windows下做开发的,但是编译环境还是在linux上。。大体的步骤如下:1首先在windows环境下编写工程(eclipse下编写android工程)
2打开linux开发环境(tcl平台:\\1012090207\longc\workspace\code\project\kernel\android\JB)
3将运行环境的脚本文件运行/evnsetup:配置android运行环境
/JB/build/
找到envsetupsh
运行envsetupsh(source
envsetuph或/envsetup)
所有 *** 作都在终端完成
4将工程文件拷贝到指定目录下(TCL平台下的自带程序在package\TCL_Apps目录下)
5删除一些文件
保留/res,/src,AndroidManifestxml三个文件
创建Androidmk(makefile文件,linux下用makefile文件来集成一些命令,运行程序的指令和设置都在此处)Androidmk的编写
6编译
进入工程文件目录
输入mm命令进行编译。
7生成apk文件,编译完成
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)