c语言写完代码后怎么变成软件,一段程序代码写完以后是如何转换成有操作界面的软件的?

这里就用安卓举例说明下我们的代码是怎么变成可视化界面的。

安卓编程代码

c语言写完代码后怎么变成软件,一段程序代码写完以后是如何转换成有操作界面的软件的?

安卓早期采用java做为第一编程语言,现在是主推kotlin,还可以用flutter或者其他混合框架开发,这里不做多介绍。

上图是简单的控件展示,基本涵盖主要的交互功能。文字的大小颜色包括控件的间距都是可以通过代码调节。

图中的控件是谷歌编写好的,开发者可以直接使用,如果这些控件满足不了需求,你还可以自定义控件通过canvas实现。

通过源码可以知道,其实谷歌提供的这些控件也都是自定义控件。

那么java层面的代码是不能转换成可视化的界面的,那安卓是怎么实现的呢?

其实是通过调用底层(C语言)接口实现的。

底层(C语言)接口

c语言写完代码后怎么变成软件,一段程序代码写完以后是如何转换成有操作界面的软件的?

我们自定义控件使用的就是最上面的

canvas.java

类实现的,最终会调用到底层的

libskia.so

文件,所以java层面的canvas实际上是封装的native层的方法。

可以这样理解,java层只是描述界面,具体实现由native层实现。

那么native层是怎么实现的呢?安卓底层使用C语言编写,里面有个SurfaceFlinger类,这个类获取界面宽,高,点密度,颜色分量的大小等信息后,交给硬件帧缓冲区去。

硬件帧缓冲区属于硬件驱动范畴了,超出了本人知识结界,这里就不BB了。

总结

不用设备有不同的图形驱动,编码只是实现界面的形状大小等描述,最终都会交给图形驱动层去渲染。编码层是为了更好的方便开发者。

版权声明:本文内容由互联网用户投稿发布,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2211788188@qq.com 举报,一经查实,本站将立刻删除。如需转载请注明出处:https://www.wptmall.com/a/article/3880

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注