语言
智匠视界
这个作者很懒,什么都没留下…
展开
-
OpenGL
参考:pyOpenGL官网 openGl教程一、介绍1. openGL概念:OpenGL实际上是一种图形与硬件的接口。它包括了120个图形函数,开发者可以用这些函数来建立三维模型和进行三维实时交互.OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库.gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库,gl中包含了最基本的3D函数,而glu似乎对gl的原创 2017-09-11 10:19:47 · 631 阅读 · 0 评论 -
java对象生命周期和类生命周期
java对象生命周期对象的整个生命周期大致可以分为7个阶段:创建阶段(Creation)、应用阶段(Using)、不可视阶段(Invisible)、不可到达阶段(Unreachable)、可收集阶段(Collected)、终结阶段(Finalized)与释放阶段(Free)。创建阶段一个Java类(除Object类外)至少有一个父类(Object),这个规则既是强制的,也是隐式的。你可能已经注意到在原创 2018-01-05 15:04:13 · 20980 阅读 · 5 评论 -
C++模板
一、定义模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数, 从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。二、函数模板Template 返回类型 函数名(形参表){//函数定义体 }实例template T min(T x,T y){ return(x<y)?x:y;}void main(原创 2018-01-23 13:41:09 · 287 阅读 · 0 评论 -
java教程
参考: java教程前言这里主要列出了与其他语言有区别的部分和我不熟悉的部分。import语句在Java中,如果给出一个完整的限定名,包括包名、类名,那么Java编译器就可以很容易地定位到源代码或者类。Import语句就是用来提供一个合理的路径,使得编译器可以找到某个类。例如,下面的命令行将会命令编译器载入java_installation/java/io路径下的所有类原创 2017-10-10 14:10:28 · 622 阅读 · 0 评论 -
c和c++调用Python 多线程安全
一、C++调用Python API多线程安全参考网页:http://blog.csdn.net/cedricporter/article/details/6810665Python不支持多线程,如果在c使用多线程就会报错使用GIL可以解决。主要函数1.PyGILState_STATE PyGILState_Ensure( )确 保当前线程已经可以调用与当前 Python 状态无关的 Python C原创 2018-01-18 09:49:34 · 2995 阅读 · 2 评论 -
go 并发编程
概念协程与传统的系统级线程和进程相比,协程的最大优势在于其“轻量级”,可以轻松创建上百万个而不会导致系统资源衰竭,而线程和进程通常最多也不能超过1万个。这也是协程也叫轻量级线程的原因。多数语言不支持携程,而是通过库的方式支持,这样如果调用同一个io如本地文件读写都会阻塞其他并发执行轻量级线程。go在语言级别支持协程,叫goroutine。go 关键词后面的语句会以一个新的线程去运行。g...原创 2019-08-22 14:06:25 · 209 阅读 · 0 评论 -
go 详解
主要特点自动垃圾回收丰富的内置类型函数多返回值错误处理匿名函数和闭包类型和接口并发编程发射语言交互性环境安装windows安装包地址:https://golang.org/dl/。或https://golang.google.cn/dl/。windows上安装完后可以直接在cmd中运行goLinuxsudo apt install golang-go语言结构...原创 2019-08-22 14:16:01 · 540 阅读 · 0 评论 -
mysql使用教程
一、简介Mysql是最流行的关系型数据库管理系统RDBMS(Relational Database Management System:关系数据库管理系统)。RDBMS即关系数据库管理系统的特点:数据以表格的形式出现每行为各种记录名称每列为记录名称所对应的数据域许多的行和列组成一张表单若干的表单组成database术语数据库: 数据库是一些关联表的集合数据表: 表示数据的...原创 2019-08-27 13:48:56 · 208 阅读 · 0 评论 -
go test单元测试
test代码命名规则文件名要以 ‘_test’ 结尾测试函数以 ‘Test’ 开头实例被测函数testMe.gopackage mainfunc f1(n int) int{ if n == 0{ return 0 } if n == 1{ return 1 } return f1(n - 1) +f1(n -...原创 2019-08-31 14:47:02 · 764 阅读 · 0 评论 -
java之TCP编程
TCP通信TCP通信是严格区分客户端与服务器端的,在通信时,必须先由客户端去连接服务器端才能实现通信,服务器端不可以主动连接客户端,并且服务器端程序需要事先启动,等待客户端的连接。在JDK中提供了两个类用于实现TCP程序,一个是ServerSocket类,用于表示服务器端,一个是Socket类,用于表示客户端。服务器端(ServerSocket类)构造ServerSocke原创 2018-01-04 11:50:22 · 253 阅读 · 0 评论 -
java和C++的重写与重载
参考网页:https://www.cnblogs.com/charlesblc/p/6133605.html重写重载区别重载:指函数名相同,但是它的参数表列个数或顺序,类型不同,但是不能靠返回类型来判断,C++和java区别不大。C++中重写:是指派生类重新定义基类的虚函数。java中的重写:当一个子类继承一父类,而子类中的方法与父类中的方法的名称,参数个数、类型都完全一致时,就称子类中的这个原创 2018-01-04 10:39:18 · 983 阅读 · 1 评论 -
Python读写配置configparser
参考:configparser官网一、介绍ConfigParser模块在python中是用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。 注意:在python 3 中ConfigParser模块名已更名为configparser二、API读取read(filename) 直接读取ini文件内容secti原创 2017-12-14 15:18:02 · 3459 阅读 · 0 评论 -
c和c++调用Python
参考网页:https://docs.python.org/3.6/c-api/index.html http://blog.csdn.net/taiyang1987912/article/details/44779719 http://blog.csdn.net/u012234115/article/details/50210835一、使用python提供给C/C++的APIAPI介绍以下是一些原创 2017-10-18 10:11:47 · 846 阅读 · 0 评论 -
java异常处理
简介所有的异常类是从 java.lang.Exception 类继承的子类。 Exception类是Throwable类的子类,Throwable还有一个子类Error。 java内置异常类Java 语言定义了一些异常类在 java.lang 标准包中。标准运行时异常类的子类是最常见的异常类。由于 java.lang 包是默认加载到所有的 Java 程序的,所以大部分从运行时异常类继承而来的异常都原创 2017-10-10 16:17:35 · 284 阅读 · 0 评论 -
Python构建工具setup.py
参考网页:http://www.cnblogs.com/maociping/p/6633948.html一、应用场景在安装python的相关模块和库时,我们一般使用“pip install 模块名”或者“python setup.py install”,前者是在线安装,会安装该包的相关依赖包;后者是下载源码包然后在本地安装,不会安装该包的相关依赖包。所以在安装普通的python包时,利用pip工具原创 2017-11-08 10:16:36 · 805 阅读 · 0 评论 -
java多线程编程
一、概念Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类。二、继承Thread类创建线程类步骤定义Thread的子类,并重写run方法,该方法是线程需要完成的任务。创建该子类的实例,即创建线程对象。调用线程对象start()方法来启动线程。三、同步代码块多线程同时对资源进行访问时,同步机制使得同一时间内只能有一个线程对资源进行操作。同步机制可以用Synch原创 2017-10-24 11:04:17 · 141 阅读 · 0 评论 -
spidev
参考:spidev官网一、安装下载安装包tar –zxvf spidev-3.2.tar.gzcd spidev-3.2sudo python3 setup.py install二、api介绍1.打开spi设备bus=0device=0spi=SPI.SpiDev(bus,device)打开spi设备, 设备名/dev/spidev-bus.device此处设备为/dev/spi-de原创 2017-11-01 15:16:33 · 2919 阅读 · 2 评论 -
C++虚函数、纯虚函数区别
参考网页:https://www.cnblogs.com/xudong-bupt/p/3570304.html一、虚函数(impure virtual)C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现。子类可以重写父类的虚函数实现子类的特殊化。class A{public: virtual void out2(string s)///默认实现原创 2017-12-08 11:38:43 · 696 阅读 · 0 评论 -
python3之opencv安装
一、安装pip3 install numpypip3 install opencv-python以上在ubunt上安装成功,但是在树莓派安装失败,在树莓派上Python2可以使用apt install python-opencv安装成功,Python3只能自己编译二、树莓派在python3中安装opencv参考网页:https://www.cnblogs.com/lynsyklate/p/771原创 2017-11-16 19:13:58 · 47528 阅读 · 4 评论 -
python基础教程
参考:Python基础教程assert使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要assert断言的帮助。python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假。可以理解assert断言原创 2017-12-14 10:27:45 · 994 阅读 · 0 评论 -
pickle序列化模块
为什么需要序列化便于存储。序列化过程将文本信息转变为二进制数据流。便于传输。当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。序列化pickle.dump()pickle.dump(obj, file, protocol=None,*,fix_imports=True)序列化后的对象obj以二进制形式写入文...原创 2019-09-05 15:12:13 · 277 阅读 · 0 评论