unity2d
1
C#基础
本文字数: 0 阅读时长 ≈ 1 分钟
unity初识
1
SSH
SSH(Secure Shell,安全外壳)是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。传统远程登录或文件传输方式,例如Telnet、FTP,使用明文传输数据,存在很多的安全隐患。随着人们对网络安全的重视,这些方式已经慢慢不被接受。SSH协议通过对网络数据进行加密和验证,在不安全的网络环境中提供了安全的登录和其他安全网络服务。作为Telnet和其他不安全远程shell协议的安全替代方案,目前SSH协议已经被全世界广泛使用,大多数设备都支持SSH功能。
gcc/gdb
7. GCC和gcc++编译器
7.1 gcc和 GCC是两个不同的东西
GCC:GNU Compiler Collection
(GUN 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C、Ada
等语言。- 因此
gcc
是GCC
中的GUN C Compiler
(C 编译器);g++
是GCC
中的GUN C++ Compiler
(C++
编译器)。二者都可以编译c
或cpp
文件。只不过用gcc
编译c++
需要手动添加链接库 - 在编译阶段,
g++
会调用gcc
,对于c++
代码,两者是等价的,但是因为gcc
命令不能自动和C++
程序使用的库联接,所以通常使用用g++
来编译以求自动完成链接。所以对于C
语言程序的编译,我们应该使用gcc
指令,而编译C++
程序则推荐使用g++
指令
Msys2
msys2是什么
Cygwin是运行于Windows平台的POSIX“子系统”,提供Windows下的类Unix环境,并提供将部分 Linux 应用“移植”到Windows平台的开发环境的一套软件。按照我经常开玩笑的话来讲,Cygwin 基本上就是传说中的 GNU/NT 系统(对照 GNU/Linux,GNU/BSD,GNU/HURD)。
MinGW,Minimalist GNU for Windows,用于开发原生(32位) Windows 应用的开发环境。它主要提供了针对 win32 应用的 GCC、GNU binutils 等工具,以及对等于 Windows SDK(的子集)的头文件和用于 MinGW 版本 linker 的库文件(so、a等,而不是 VC 的 lib)
MSYS2 (Minimal SYStem 2) 是一个MSYS的独立改写版本,主要用于 shell 命令行开发环境。同时它也是一个在Cygwin (POSIX 兼容性层) 和 MinGW-w64(从"MinGW-生成")基础上产生的,追求更好的互操作性的 Windows 软件;
MSYS2 是MSYS的一个升级版,是集成了pacman和Mingw-w64的Cygwin升级版, 提供了bash shell等linux环境、版本控制软件(git/hg)和MinGW-w64 工具链。与MSYS最大的区别是移植了 Arch Linux的软件包管理系统 Pacman(其实是与Cygwin的区别)。就是说MSYS2是Cygwin的升级版本
它的一个优点就在于利用
pacman
包管理器,msys2可以使用pacman
来安装软件包,我们可以比较轻松的使用Linux包管理器的方式来安装一整套可以在Windows上运行的Linux工具。显而易见,你可以在Msys shell执行Linux相关命令
protobuf
1 Protobuf 概述
Protocol Buffer (简称Protobuf) 是Google出品的性能优异、跨语言、跨平台的序列化库。在网络通信和通用数据交换等应用场景中经常使用的技术是 JSON
或 XML
,在微服务架构中通常使用另外一个数据交换的协议的工具ProtoBuf。
ProtoBuf也是我们做微服务开发,进行Go进阶实战中,必知必会的知道点。
ProtoBuf全称:protocol buffers,直译过来是:“协议缓冲区”,是一种与语言无关、与平台无关的可扩展机制,用于序列化结构化数据。
- 和
json\xml
最大的区别是:json,ProtoBuf是二进制格式。 ProtoBuf
相比于json\XML
,更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。- 我们只需要定义一次数据结构,就可以使用ProtoBuf生成源代码,轻松搞定在各种数据流和各种语言中写入、读取结构化数据。
lambda表达式
7 lambda表达式
我们可以向一个算法传递任何类别可调用对象,如果可以对其使用调用运算符(),则称它为可调用的。c++中可调用对象有函数、函数指针、重载函数调用运算符类、lambda
表达式。
一个lambda
表达式表示一个可调用的代码单元,可将其理解为一个未命名的内联函数。一个lambda
具有一个返回类型、一个参数列表和一个函数体(同函数一样)。与函数不同的是,lambda
可定义在函数内部,有捕获列表: 1
[capture list] (parameter list)->return type{ function body };
captue list
(捕获列表)是一个lambda所在函数中定义的局部变量列表(通常为空)return type
为返回类型,parameter list
为参数列表、function body
为函数体