- 博客(15)
- 收藏
- 关注

原创 c# 调用非托管代码
编程过程中,一般c#调用非托管的代码有两种方式:1.直接调用从DLL中导出的函数。2.调用COM对象上的接口方法。首先说明第1种方式,基本步骤如下:1.使用关键字static,extern声明需要导出的函数。2.把DllImport 属性附加到函数上。3.掌握常用的数据类型传递的对应关系。4.如果需要,为函数的参数和返回值指定自定义数据封送处理信息,这将重写.net framework默认的封送处理。简单举例如下:托管函数原型:DWORD GetShortPathName(LPCTST
2021-02-28 16:55:04
1063
1
原创 图像基础知识
图像概念1.像素图像是有很多“带有颜色的点”组成,这个点就是像素。像素的英文是Pixel,由Picture和Element组成,也代表着像素是图像显示的基本单位。2.图像分辨率通常如果一幅图片是1920x1080,就是说图片长有1920个像素,宽有1080个像素,1920x1080=2073600,也就是说这个图片是200万像素的,其中1920x1080就是这个图片的分辨率。3.屏幕分辨率分辨率也是显示器的重要指标。PPI,就是“Pixels Per Inch”,每英寸像素数,也就是说手机屏幕
2021-04-24 09:40:08
1846
原创 Linux static
1.static修饰的局部变和全局变量都存储在静态存储区。static修饰局部变量,改变了变量的存储方式,由栈变为静态存储区;static修饰全局变量,改变了变量的使用域。2.static修饰函数,改变了函数的使用域。...
2021-04-17 23:04:39
470
原创 Linux 交叉编译工具链
平台:CPU-PLATFORM-OS,举例:arm-linux-gnu.本地编译:平台编译出来的代码运行在当前平台。交叉编译:一种平台上编译出来的代码运行在另一种平台。交叉编译工具链组成:交叉编译工具链主要由binutils、gcc和glibc 3个部分组成。获取工具链来源:1.分步编译工具链需要的库和工具(对原始码进行编译)。2.使用第三方工具编译生成交叉工具链。3.下载已制作好好的交叉编译工具链。...
2021-04-15 18:34:13
572
原创 视频基础知识
从事视频方面的开发,必须了解的一些基本概念:1.分辨率分辨率通常指的就是图像的宽高像素个数,反映了图像清晰度和大小的参数,经常提到的1280720(720p),19201080(1080p)就是指视频的分辨率。2.帧率帧率指的是单位时间内视频所包含的图像帧数,反映了视频流畅度的参数。3.码流码流又称码率,指单位时间内使用的视频数据量(视频压缩后的数据),反映了视频文件大小的参数。高品质的视频文件就是分辨率,帧率,码率均衡控制的产物。...
2021-04-12 17:42:28
335
原创 Linux c 指针
在介绍指针的概念之前,我们必须知道程序运行中数据是存储在内存中,每个数据都有对应的地址对应,最小的地址单元是字节,多字节在内存中存储的时候又涉及到数据的高字节该存放在内存的低地址还是高地址,所以引入大小端的概念,所谓大端,就是数据的高字节放在内存的低地址,反之存储即小端。指针是一种类型,它就是用来声明变量用来指向到特定的数据,该变量存储的值即为指向的数据在内存中的地址。1.指针的类型。2.指针的值。3.指针指向的数据类型。4.指针本身的内存占用。...
2021-04-03 18:22:57
154
原创 Linux 宿主机常用配置
1.debian配置IP:/etc/networkVi interface2.配置硬盘挂载:Vi /etc/fstab
2021-03-15 11:11:32
206
原创 Linux adb常用操作
1.adb devices2.adb reboot-bootloaderfastboot devicesfastboot flash boot boot.imgfastboot flash system system.imgfastboot reboot3.adb forward tcp:22 tcp:22
2021-03-15 10:38:59
119
原创 Linux 驱动概念
Linux驱动是内核和设备之间的桥梁,而应用就是通过内核提供的接口调用最终达到操作硬件的目标。Linux设备一般分为3类:1.字符设备。字符设备的操作单位就是字符,同步的。2.块设备。块设备的操作单位就是块,异步的,根据操作系统不同而不同,一般Linux是4K为单位。3.网络设备。Linux一切皆文件,字符设备和块设备都是通过操作设备对应的设备文件来操作设备,而网络设备是通过 操作socket来操作设备。...
2021-03-14 19:44:28
141
原创 c# 多线程
进化过程1.Thread使用 Thread 类可以显式管理线程。这包括 CLR 创建的线程和进入托管环境执行代码的 CLR 以外创建的线程。CLR 监视其进程中曾经在 .NET Framework 内执行代码的所有线程,并且使用 Thread 类的实例来管理它们2.ThreadPool3.TaskTask,是基于对ThreadPool和Thread的包装,可以根据任务时间长短选择使用线程池还是新的线程,通过进一步扩展,增加了返回值、多个线程并行/串行等功能。它的核心是一个调度器,默认是Thread
2021-03-01 18:49:17
190
原创 c# 托管和非托管
非托管代码:非托管的代码也叫本地代码(native),高级语言编写的程序必须经过一定的步骤编译为机器语言才能被机器理解和运行。在标准的C/C++中,编译过程是这样的:1.预处理。源代码经过预处理器,对头文件和宏进行解析。2.编译。经过编译器,生成汇编代码。3.汇编。经过汇编器,生成机器指令。4.链接。经过链接,生成可执行程序。这种编译的特点是直接生成了机器码,可以直接被机器识别和运行,无需任何中间运行环境。缺点是不同平台能够识别的机器码不同,因此可执行程序的跨平台能力差。...
2021-02-27 22:49:19
2443
5
原创 c# 委托
c#委托# 系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注
2021-02-27 15:24:21
754
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人