Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Linux下的C编程实战

Linux下的C编程实战

Linux下的C编程实战(一)――开发平台搭建1.引言 Linux操作系统在服务器领域的应用和普及已经有较长的历史,这源于它的开源特点以及其超越Windows的安全性和稳定性。而近年来,Linux操作系统在嵌入式系统领域的延伸也可谓是如日中天,许多版本的嵌入式Linux系统被开发出来,如ucLinux、RTLinux、ARM-Linux等等。在嵌入式操作系统方面,Linux的地位是不容怀疑的,它开源、它包含TCP/IP协议栈、它易集成GUI。 鉴于Li...
浅析JNI函数的注册过程

浅析JNI函数的注册过程

我们在Java中调用Native code的时候,一般是通过JNI来实现的,我们只需要在java类中加载本地.so库文件,并声明native方法,然后在需要调用的地方调用即可,至于java中native方法的具体实现,全部交给了Native层。我们要在java中正确地调用到本地代码中对应函数的前提是什么呢?答案就是通过一定的机制建立java中native方法和本地代码中函数的一一对应关系,那么这种机制是什么呢?就是JNI函数的注册机制。JNI函数的注册有两...
Android打造带透明圆弧的ImageView

Android打造带透明圆弧的ImageView

这几天因为项目需求,需要在ImageView上面叠加一层透明圆弧,并且在沿着圆弧的方向显示相应的文字,效果如下图所示:拿到这个需求,首先想到的是自定义一个ImageView来实现此功能,即在onDraw()中绘制圆弧和文字。同时因为要保证圆弧的位置可以任意摆放,圆弧的颜色、透明度以及文字大小、颜色等都是可控的,所以增加了一些自定义属性。实现代码非常简单,如下:1.自定义ImageView:package com.linuxidc.customviewsde...
Android系统Binder机制学习总结

Android系统Binder机制学习总结

一、Binder机制概述在Android开发中,很多时候我们需要用到进程间通信,所谓进程间通信,实现进程间通信的机制有很多种,比如说socket、pipe等,Android中进程间通信的方式主要有三种:1.标准Linux Kernel IPC 接口;2.标准D-BUS接口;3.Binder接口。其中,Binder机制是使用最且最被认可的,因为Binder机制有以下优点:1.相对于其它IPC机制,Binder机制更加简洁和快速;2.消耗的内存相对更少;3.传...
Python函数递归和生成器

Python函数递归和生成器

一、什么是递归如果函数包含了对其自身的调用,该函数就是递归的。递归做为一种算法在程序设计语言中广泛应用,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。例如,要计算1-9的9位数字的乘积,直观的算法是1*2*3*4*5*6*7*8*9,如果要计算1-10000的乘积,直观的算法就难于实现出,而递归就可以很简单的实现。请看示例:1 def fa...
Swift之“闭包”的应用

Swift之“闭包”的应用

相信了解swift的,都应该知道,swift舍弃了OC中的block,但是block的应用又比较灵活,作用也很强大。swift中当然不能缺少这样的设计模式,于是推出了闭包,其功能和作用与OC的block有着异曲同工之妙,但是在写法上,差距比较大。本文,主要是来一探“闭包”的使用方法。一:闭包简介 1,闭包也是一个函数,函数是什么?函数就是一段代码块。这个没有什么可纠结的。 2,闭包的使用方法,闭包主要有两种使用方法,1),闭包在方法...
Swift中桥接头文件的建立

Swift中桥接头文件的建立

桥接头文件主要应用于swift和oc的混编。这里有两种创建方式。方法一:适用于项目(swift项目)之前没创建过oc的类,或(oc的项目)swif的类这里以swift项目为例既然没用过就创建一个呗Commond+n然后创建,这是会出来一个提示选择Create Bridging Header就可以了,这样项目中就有这个桥接头文件了。在桥接头文件里直接 import “类名.h”就可以使用了。方式二:适用于任何情况,想怎么玩怎么玩。1)...
Swift封装的无限轮播头视图

Swift封装的无限轮播头视图

此类中代码,是已经封装好的,在外部创建,给其frame和父视图,即可显示。需要注意的地方,就是图片哪里了,在代码中已经写出来了。就是不给demo链接(其实我demo没上传到git上),自己慢慢看代码吧,哈哈,简书看起来代码,还是挺舒服的。import UIKitclass AmonCirHeadView: UIView ,UIScrollViewDelegate{var dataArray:NSArray?;var _scrollView:UIScroll...
Swift中KVO(监听)的使用方法及注意事项

Swift中KVO(监听)的使用方法及注意事项

相信研究swift语言的开发者都多多少少了解或者精通Objective—C语言,熟练掌握Objective—C语言的开发者,在学习swift语言的过程中,是比较快速,而又轻松的。本人就是一位熟练掌握OC语言,后开始研究的swift。在学习swift语言的过程中,笔者建议有OC基础的开发者,在写swift的代码过程中,再写一下OC中的代码,二者相互比较,相信你能找到快速学会swift语言的方法。资深,有耐心和有天赋的开发者,相信能在一...
Swift中UICollectionView的简单用法

Swift中UICollectionView的简单用法

之前写过OC中collectionView的用法,现在再看看swift中collectionView的用法,有兴趣的朋友,可以两者前后比较下区别,swift现在没有稳定下来,语法更新的比较快,但是它核心的一些东西,已经定型了。这些还是靠读者们自己去挖掘吧。总得来说,swift无论是在语法上,还是在其书写内容上,和OC有着千丝万缕的联系,但又不完全一样,有的地方,进行了优化。当然这些都是笔者个人理解,毕竟也是从头开始研究这个语言,可能有些不对的地方,也希望各...
Swift UICollectionView 简单使用

Swift UICollectionView 简单使用

最近要研究下排布的游戏关卡界面的实现,简单做了个UICollectionView的demo。先看最后的效果:下面来看实现的方法把,在Storyboard对应的ViewController中增加一个UICollectionView控件,然后再其中加入一个CollectionViewCell在其中增加一个Label控件注意,下面对这个Cell进行命名,命名成defaultCell, 这样我们UI层面的工作就结束了。代码部分:首先我们需要了解两个类,UIColl...
C++中函数中变量内存分配以及返回指针、引用类型的思考

C++中函数中变量内存分配以及返回指针、引用类型的思考

众所周知,我们在编程的时候经常会在函数中声明局部变量(包括普通类型的变量、指针、引用等等)。同时,为了满足程序功能的需要,函数的返回值也经常是指针类型或是引用类型,而这返回的指针或是引用也经常指向函数中我们自己声明的局部变量。这样,程序在某些情况下就可能存在一定的问题。看似很简单的问题,通过仔细的分析,我们就能够更好的理解C++中内存分配和释放的问题。好,废话不多说,我们进入正题。首先,简单介绍一下程序的内存区域的分配:程序的内存分配①堆区(heap)。这...
Java利用Rxtx进行串口通讯

Java利用Rxtx进行串口通讯

最近在做传感器数据采集的工作,底层是基于Zigbee的无线传感网络,所有数据采集到Zigbee协调器上然后通知上位机数据采集完成,上位机通过USB转串口去读取数据就可以了。那么问题来了,如何进行串口通讯呢?老板说你用Java写个程序好了嘛,用Java写串口程序也是醉了。实验室也没别人写了,所以就让我写了。当我听到要让我用Java写串口通讯程序的时候我本来是拒绝的,然后。。。就没有然后了。。就只能写了。网上看了一下,最后用了一个开源的Java串口通讯库RXT...
JVM内存区域划分

JVM内存区域划分

学习Java不可避免的要学习Java虚拟机,也就是JVM,Java虚拟机规范里面规定了程序运行期间会使用到的运行时数据区,这也是JVM的内存区域划分的模型,应该可以这么理解吧。这其中有一些是随着虚拟机的启动和退出而创建和销毁的,这些区域是线程共享的,另外有一些是跟各个线程绑定的,随着线程的开始和结束而创建和销毁,我们可以称这些区域是线程私有的。根据《Java虚拟机规范Java SE 7版》和《Java虚拟机规范Java SE 8版》的规定,我们可以划分出如...
在Linux上用自己编译出来的coreclr与donet cli运行asp.net core程序

在Linux上用自己编译出来的coreclr与donet cli运行asp.net core程序

先在 github 上签出 coreclr 的源代码,运行 ./build.sh 命令进行编译,编译结果在coreclr/bin/Product/Linux.x64.Debug/ 文件夹中。接着签出 dotnet cli 的源代码,运行 ./build.sh 命令进行编译,编译结果在 cli/scripts/dotnet-cli-build/bin/ 文件夹中。然后将 coreclr 的编译结果文件复制到 dotnet cli 的编译结果文件夹中:cp /...
Java中多态的可拓展性

Java中多态的可拓展性

下面我将以两个例子来充分阐述Java中多态的可拓展性,作为一名优秀的程序员,就必须了解程序的可拓展性,非常利于程序后续的开发。第一个例子:利用电脑的主板来作为例子,就我们所熟悉的电脑的主板,里面是不是有很多模块,网卡,声卡,想要用到这些功能,只能当主板运行起来,再给网卡和声卡供电就可以,但这用软件语言怎么来实现呢?是不是先要主板跑起来,主板再让声卡或者网卡跑起来,但这样做,拓展性不高让声卡和网卡跑起来的操作是重复的,而且有很多模块也具备这样的功能,就单纯让...
Java之多态的使用

Java之多态的使用

首先,什么是多态?我们应该从什么角度来理解多态?其实,我们不妨把多态理解成一种事物的多种存在形态,比如,猫和狗都可以变成动物,而动物又可以变成猫和狗。 为了充分理解多态,我们可以从以下这几个方面来理解多态。 第一、从多态的体现方面:我们使用多态的时候,创建的是父类的引用,开辟的是子类的空间,由于没有开辟父类的空间,所以是父类的引用指向子类对象,并不是真正的父类自己创建了对象,而且父类对象的引用还可以作为函数参数来接收子类对象哦! 第二、多态实现...
<< 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 >>