简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
虚幻引擎的业务逻辑开发基本上都是用C++/蓝图,当因为项目代码写的不好遇到Crash等问题时,如果不了解Native程序和引擎底层的一些机制,相比用C#开发业务的Unity或其他完全基于脚本虚拟机的游戏确实要难处理一些。因为业务和引擎代码本身都是基于C++,所以对于解决常规C++的Crash的方法虚幻引擎完全适用,除此外引擎在异常处理上相比于普通的C++程序还是提供了一些额外的方法和工具。本文主要
std::vector中的常用函数: .clear();清空数据 .size();当前vector容器内存储的元素的个数 .capacity();当前vector容器重新分配内存之前所能容纳的元素数量 .swap();函数交换 .reserve();向系统预订一段足够的连续的空间.swap用于释放内存: 首先,vector与deque不同,其内存占用空...
建立连接:关闭连接:一、三次握手Three-way HandshakeTCP(Transmission Control Protocol)传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finis
一、cmake编译jsoncpp源码(1)下载jsoncpp源码源码地址:https://github.com/open-source-parsers/jsoncpp/tree/0.y.z(2)解压源码unzip jsoncpp-0.y.z.zipcd jsoncpp-0.y.z(3)使用cmake编译$ mkdir -p build/debug$ cd build/debug$ cmake -D
程序编译一般需要经预处理、编译、汇编和链接几个步骤。在实际应用中,有些公共代码需要反复使用,就把这些代码编译成为“库”文件。在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中,这种库称为静态(链接)库,其特点是可执行文件中包含了库代码的一份完整拷贝,缺点是被多次使用就会多份冗余拷贝。还有一种库,就是程序在开始运行后调用库函数时才被载入,这种库独立于现有的程序,其本身不可执行,但
既然看到了这篇文章你肯定知道Json是什么东西了,网上有很多解析Json的开源库,最近工作需要用到Json解析,研究发现jsoncpp使用很方便,网上也有很多使用方法介绍,目前为止能查到的基本都是比较老的API使用方法,编译器会提醒使用的某些API已经被弃用了,有的编译器还会直接报错,既然推荐用新的那就学一下新API的使用方法吧,记录一下。JSONCPP是C++中的生成与解析JSON 字符串的一种
我用的是android studio 2.0正式版1、简介aar包是Androidstudio下打包android工程中src、res、lib后生成的aar文件,aar包导入其他android studio 工程后,其他工程可以方便引用源码和资源文件2、生成aar包步骤2.1、用android studio打开一个工程,然后新建一个Module,新建Module时候选择Android Librar
源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found的问题。这是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决。1. 问题原因分析为了安装最新版本的Node.js(最新版本的Node.j
我们知道在C++11中引入了mutex和方便优雅的lock_guard。但是有时候我们想要的是性能更高的无锁实现,下面我们来讨论C++11中新增的原子操作类Atomic,我们可以利用它巧妙地实现无锁同步。CAS(Compare and Swap)是个原子操作,保证了如果需要更新的地址没有被他人改动多,那么它可以安全的写入。而这也是我们对于某个数据或者数据结构加锁要保护的内容,保证读写的一致性,不出
1.vector<int> list1; 默认初始化,最常用此时,vector为空, size为0,表明容器中没有元素,而且 capacity 也返回 0,意味着还没有分配内存空间。 这种初始化方式适用于元素个数未知,需要在程序中动态添加的情况。2.vector<int> list2(list); 或者 vector<int> ilist2 = ilist; /