c#安卓连接sqlserver_安卓手机C/C++开发平台

后台有高中生求教如何基于安卓手机学习C、C++程序开发。引起本人深思!

遥想我当年基于Turbo C学习C语言的迷茫,后来面对着Visual Studio这种超大型IDE来学习C的hello world就更加迷茫了! 算了,不提当年了。

现在有手机了,装个Aid Learning或者Termux,基于免费的gcc或者clang,你就可以顺畅的学习C、C++了,顺便把Linux也学会了,方便!香啊!

下面是软硬件搭建及使用C++编程的过程:

1)硬件条件:

那么要想顺畅的搭建C/C++开发平台你需要的硬件条件呢:

低配:安卓5.0及以上的手机,比如三星Note3这种老掉牙的机器就行。

中配:安卓5.0及以上的手机,蓝牙键盘,手机支架,比如下面这样:

66bc1638f7bc69525cb7678ef98623de.png

高配:安卓5.0及以上的手机,USB Hub,键盘,鼠标,手机支架,比如楼下这样(请无视我凌乱的背景)。Hub用来连接全键盘和鼠标,用起来就跟电脑操作一样了,还可以免除蓝牙键盘的不习惯,实际金钱成本好像比中配低(哈哈!):

37005a1815a9f91a8b139aa0c5545087.png

推荐至少中配起步吧!没有个键盘实在是没法愉快的编程序。

2)软件环境:
老手机(安卓5.0以上的老爷机,更老的就别编程了,没法弄)推荐安装Termux 0.73及以下版本。
新手机就推荐安装Termux新版或者Aid Learning。
然后Termux推荐安装的C/C++编译器是clang。Aid Learning推荐安装的编译器是gcc/g++,clang当然也行。
二者的安装方法见:

myastrotong:把安卓手机性能发挥到极致之-Termux​zhuanlan.zhihu.com
6194d3063be75a41269c324f600f7a5e.png
myastrotong:把安卓手机性能发挥到极致之-Aid Learning​zhuanlan.zhihu.com
da87a40082eb44bc914f3161d8589d2b.png

如果实在是想在Termux上安装gcc,也不是不行,前提是你先在Termux里面安装一套完整版的Linux。方法如下:

myastrotong:极致安卓之—Termux安装完整版Linux​zhuanlan.zhihu.com
3923cfeb99db3cd039128ccd8d819ecb.png

然后安装cmake。
编写程序需要编辑器,推荐安装vim(据说逼格高)或者nano。3)使用方法

大家都用烂了Hello World。所以我就不用了!

举一个具有生产力的高端例子:

去如下网站下载一个开源C++数值计算软件Alglib:

C++/C# numerical analysis library​www.alglib.net
4c22ddf4685b98628e58235cad90df72.png

当前的下载链接是(2019年12月):

https://www.alglib.net/translator/re/alglib-3.15.0.cpp.gpl.zip​www.alglib.net

把下载下来的包解压缩,命名为alglib。

然后进入如下文档,下载其算例lincg_d_1:

https://www.alglib.net/translator/man/manual.cpp.html#example_lincg_d_1​www.alglib.net

该算例求解一个线性方程组Ax=b的解x。具体介绍可以查看以上链接的解释。

把该算例下载下来,命名为lincg_d_1.cpp(注意:这是c++,所以后缀为cpp,可别存为.c文件)

然后建立一个文件夹Test,里面放入lincg_d_1.cpp,以及下载下来的文件夹alglib。然后分别在Test目录和alglib新建文件CMakeLists.txt文件。

整个文件系统如下:

183a13827a8bd16d95e8291b6ce01c0f.png

alglib目录下的CMakeLists.txt文件的具体内容为:

# 查找当前目录下的所有源文件并将名称保存到 DIR_LIB_SRCS 变量
aux_source_directory(. DIR_LIB_SRCS)
# 指定生成AlgLib 链接库
add_library (AlgLib ${DIR_LIB_SRCS})

以上文件就是把alglib目录下的所有文件生成一个叫libAlgLib.a的静态链接库。由于Linux的规定,你只需要指定AlgLib就够了,Linux会自动补全为libAlgLib.a。

以上两行话就可以解决静态链接库的编译问题!

Test目录下的CMakeLists.txt文件的内容为:

# CMake 最低版本号要求
cmake_minimum_required (VERSION 2.8)
# 项目信息
project (Demo1)
set(CMAKE_INCLUDE_CURRENT_DIR ON) 
include_directories ("${PROJECT_SOURCE_DIR}/alglib")
# 查找当前目录下的所有源文件并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS)
add_subdirectory (alglib)
# 指定生成目标
add_executable (Demo ${DIR_SRCS})
target_link_libraries (Demo  AlgLib)

以上文件用于生成可执行文件Demo,而且是基于alglib目录下的libAlgLib.a静态链接库,并给出了头文件的目录。由于Linux的规定,你只需要输入AlgLib就够了,系统会自动不全静态链接库的文件名。

使用vim对文件进行修改,编程,如下:

vim lincg_d_1.cpp

6a637171dcd49523fffa94e8279b1ec7.png

vim的具体使用方法可以百度。

然后,在Test目录下执行如下命令

mkdir build               #表示新建一个build目录
cd build                  #表示进入build目录
cmake ../                 #表示cmake搜索上一级目录的CMakeLists.txt文件执行相关操作
make                      #制作可执行文件

可执行文件Demo制作完成!

c3e3a1a3142eb9c37b681d3d6a8d803f.png

以上就是整个C++的编译链接过程!

你可能发现我是在sdcard目录制作的,这实际是安卓手机自带的目录,在这个目录下制作的可执行文件是不具有可执行权限的,因此把它拷贝到系统的/home文件夹下,然后修改为具有可执行权限,指令如下:

cp Demo /home/Demo
cd /home
chmod 777 Demo

然后执行如下命令进行计算

./Demo

f353e8fff5560966ac60065296f8e38b.png

如上图可见,直接输入Demo是无法执行计算的,只能是输入./Demo。./表示的是执行当前目录下的文件。

以上就是个较为正规的C++编程实例,建议大家好好消化!

Alglib是个好东西,值得花时间琢磨!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值