C/C++/CLI
文章平均质量分 79
拉达曼迪斯II
担任过
动视暴雪技术总监
UnigineEngine技术总监
Garena Team Leader
腾讯高级开发
主要擅长三维引擎 云渲染 数字孪生 区块链
AI 机器人方向。
欢迎技术交流。
展开
-
基于WebRTC的流式系统揭秘
流式这种叫法应该是从英文的说法上翻译过来的。英文原来的单词是Streaming . 一般有Video Streaming , Audio Streaming , 中文就是视频流,音频流,我们一般也称为流媒体。当然实质上也被称为云系统,比如采用WebRTC同等架构的Google的云游戏平台Stadia,还有腾讯的云游戏平台,其实都是基于WebRTC或者同等架构或作用的产品,同时由于运行在公有云上,因此被称为云系统,流式系统,或者串流系统等各种叫法。原创 2024-09-30 00:00:00 · 1766 阅读 · 0 评论 -
剑和沙盒 6 - 线程辱骂 – 使用线程名称进行攻击
进程注入是攻击者使用的重要技术之一。我们可以在几乎所有恶意软件中发现其变体。防御规避:将恶意模块隐藏在不同进程的掩护下对现有进程的干扰:读取其内存、挂钩所使用的 API 等。特权升级由于恶意模块对进程内存的干扰会造成很大的破坏,因此各种 AV 和 EDR 产品都会监控此类行为并尝试阻止它们。但是,这种监控是基于对注入方法实现中使用的通用 API 的了解。这种猫捉老鼠的游戏永无止境。网络犯罪分子以及红队成员不断尝试通过使用一些非典型 API 来破坏已知模式,并借此逃避当时实施的检测。其中一个例子是。原创 2024-07-27 00:00:00 · 407 阅读 · 0 评论 -
19-2 LLM之野望 2 - LLM给到Quora面临的困境
Quora 有一个简单的前提:它是一个分享知识和专业知识的地方,好奇的人可以就任何可以想象到的话题提出问题,并从平台博学的社区获得深思熟虑的、见识广博的答案。想想雅虎答案 (Yahoo Answers),它适用于技术员工和格拉德威尔式的知识分子。Quora 由两名前 Facebook 员工于 2009 年创立,并迅速发展起来,其答案来自众多硅谷名人、常春藤盟校学者、业内人士以及热心的业余爱好者,他们热衷于对从平凡到深奥的各种问题发表看法。到 2014 年,其估值已超过 9 亿美元。原创 2024-07-19 00:00:00 · 1273 阅读 · 0 评论 -
19-1 LLM之野望 1 – 微软打开1-bit LLM时代
数字时代已经到来,但它的到来并不平衡。但这远非唯一的问题。它对环境也有严重影响。如果我们认为,根据。原创 2024-07-19 00:00:00 · 1214 阅读 · 0 评论 -
Unigine心得之村长的野望1 - 键盘鼠标控制物体移动
前几日写了一个小DEMO用到键盘用ASDW等按键控制一个物体的上下左右移动和旋转等操作。2:我的代码操作的是mSelectedNode,这个节点对象请自行准备。但相信可以作用在几乎所有的Unigine版本中。因为都是基础操作函数。//用aswd控制上下左右的位置变化,参考游戏控制。这个是一个非常基础的简单控制,但是查询官方文档也是很吃力。因此,分享在此处,方便大家不用闭门造车,重复造车。//用wr控制左侧旋转和右侧。//有当前对象才操作。1:移动旋转速度,自行控制。//设置旋转和移动的速度。原创 2024-07-18 16:57:23 · 951 阅读 · 0 评论 -
VDI 与 VM的區別
虚拟机是通过将服务器的资源(例如 CPU、内存和存储)划分为多个独立的虚拟机来创建的。虚拟机 (VM) 是虚拟化环境,可模拟物理硬件以在单个物理服务器上托管多个操作系统。每个虚拟桌面都在单独的操作系统上运行,并拥有自己的资源,例如 CPU、内存和存储。VDI 或虚拟桌面基础架构是一种计算机虚拟化形式,允许将桌面托管在远程服务器上。每个 VM 都有自己的资源,并且可以配置不同的操作系统和应用程序。它允许许多用户从一台中央服务器访问自己的虚拟桌面。原创 2024-07-18 10:04:44 · 250 阅读 · 0 评论 -
Unigine中綫程操作和鎖的情況
一般的,我们在C++中有互斥锁mutex , 条件锁,自旋锁SpinLock , 读写锁RWLock .当然还有一些基于mutex的锁,C++11中提供的有:std::mutex,最基本的 Mutex 类。 std::recursive_mutex,递归 Mutex 类。 std::time_mutex,定时 Mutex 类。 std::recursive_timed_mutex,定时递归 Mutex 类。Lock有2类std::lock_guard,与 Mutex RAII 相关,方便原创 2020-05-13 20:58:52 · 285 阅读 · 0 评论 -
Unigine中如何使用回调函数
Unigine中的回调函数使用很方便。1:)可以使用多达默认5个参数的回调函数2:)可以不要求类函数申明为静态函数3:)直接在Unigine的Include目录中拿到 CallBack.h头文件,调用即可使用。你的其余程序也可以这么做。测试代码如下:class TestClass{public: TestClass() { } void TestCallbackMethodA() { printf("I am cal...原创 2020-05-11 15:27:44 · 232 阅读 · 0 评论 -
Unigine中的ComponentSystem系统如何使用
ComponentSystem的代码结构图如下ComponentSystem的总体方法和Unity3D中的ComponentSystem类似,该系统将可以添加多个类实现到一个对象中。使得程序的逻辑可以分块在不同的地方。其具体行为类似于插件系统,但比插件方便很多。因为节点对象,可以绑定多个 Component类实现,同时,又可以在源代码级别进行分解。使用非常方便。截至Unigine ...原创 2020-05-03 16:23:15 · 668 阅读 · 0 评论 -
C++程序中内存泄漏的几个小工具和方法
内存泄漏,通常被定义为没有释放之前分配的内存资源,在C++的程序中这个问题特别难排查。一个很小的内存泄漏可能在初期没怎么重视,当时累计多了,会造成大面积的崩溃行为和性能问题,很典型的原型就是因为没有释放,内存被用完了。更糟糕的是,有可能还会引起其余的程序访问无效的内存区域,导致困惑的错误。最后都不知道问题出在哪个程序,或者模块中。在Linux下和Windows下分别有不同的静态,动态检测,分析...原创 2020-02-24 23:53:37 · 434 阅读 · 0 评论 -
如何新建一个CLR为主的能用C++的UI程序
创建一个空项目 添加一个WINFORM添加一个CPP文件,里面写上MAIN函数的定义配置2个地方这里的main 名字要和.cpp中的入口函数一致这样配置后,DOS的窗口就没有了MainForm中的C++部分这样写 (只是为了以后写C++程序)如果由于项目依赖其余的C++库或者文件,导致编译错误很多,无法通过。可以这样。...原创 2020-02-02 13:56:34 · 508 阅读 · 0 评论 -
如何去掉Unigine中的启动Console
当我们运行Unigine的程序的时候,一般的会有一个Console,如下图其原因是: 这种模式下的程序,在C++项目配置中设备为了Console模式Unigine运行的窗口是Unigine自身CreateWindow出来的窗口。所以实质上Console才是宿主,无法关闭。如果硬要关闭怎么操作呢?1: 设置程序模式为窗口模式,如下图:2 ...原创 2020-02-02 13:55:00 · 340 阅读 · 0 评论 -
如何使用protobuf做C++的序列化方案
Google的protobuf 和最新的flatbuffer 都是做序列化方面的优质框架.跨平台,容易使用,和强大的数据格式,高效的数据组织支持是我们选择它的重要原因.本文介绍C++中如何使用. 版本要求每个Protobuf的版本针对生成的源代码文件,和API都是不一致的.所以在操作前请确认对应的版本.目前本文对应使用的是3.6.1版本和3.0 版本.可以通过使用 protoc.exe ...原创 2020-02-02 13:51:51 · 2008 阅读 · 0 评论 -
Chars conversation
Assign TCHAR Array to CString============================CString someString;TCHAR szValue[MAX_PATH + 1];someString = szValue;Assingn CString to TCHAR Array============================::_tcsncpy_s(Cur转载 2008-11-27 15:17:00 · 492 阅读 · 0 评论 -
在COM应用中使用.NET组件
上一博中,我们用Visual Studio把.NET组件(托管组件)变成了COM服务器。本博继续这个话题,看看如何使用.NET工具包来完成相应的功能。首先我们来看看今天的主题和CLR Interop的关系,在我们组里,interop这个术语包含了四个范畴转载 2008-12-05 10:51:00 · 421 阅读 · 0 评论 -
使用IDispatch::Invoke函数在C++中调用C#实现的托管类库方法
CLRInterop简而言之是让非托管代码与托管代码之间可以相互调用的技术。这项技术可以使开发人员重用已有的托管或非托管组建,并根据自己的需要,权衡托管代码的简易性与非托管代码的灵活性,选择适合自己实际情况的编程语言,而不用过多考虑重用的组件是用哪种语言开发的。Interop中文的意思是互通性,既然是互通,代码的调用就有两种不同的方向。本文所要讲述的是使用COM Interop技术在非转载 2008-12-05 10:52:00 · 1386 阅读 · 0 评论 -
部署承载于 Internet 信息服务中的 WCF 服务
部署承载于 Internet 信息服务中的 WCF 服务开发和部署承载于 Internet 信息服务 (IIS) 中的 Windows Communication Foundation (WCF) 服务包括以下任务:确保已正确安装和注册 IIS、WCF 和 WCF 激活组件。创建新的 IIS 应用程序,或重新使用现有的 ASP.NET 应用程序。为 WCF 服务创建转载 2009-07-23 09:08:00 · 991 阅读 · 0 评论 -
VS 自带MSI安装程序注意事项
安装制作注意事项:1.在四)创建自定义安装对话框 的EditProperty中所有的内容无论你输入小写或大写都是以大写形式出现的,很容易让人误解为这里不区分大小,但事实上是区分的,所以变量都是大写,所以在五).创建自定义操作时“/dbname=[CUSTOMTEXTA1] /server=[CUSTOMTEXTA2] /user=[CUSTOMTEXTA3] /pwd转载 2009-11-10 18:06:00 · 2138 阅读 · 0 评论 -
C/C++中判断某一文件或目录是否存在
Normal 0 false false false EN-US ZH-CN X-NONE转载 2008-11-27 15:16:00 · 953 阅读 · 0 评论