C/C++
林新发
Keep Reading , Keep Writing , Keep Coding.
展开
-
新发的日常小实验——Unity通过C++制造一个SIGSEGV信号,让程序崩溃
文章目录一、前言二、具体操作1、C++代码2、编译C++代码,生成cppDll.dll3、将cppDll.dll拷贝到Unity工程中4、Unity C#代码5、Unity打包exe三、测试一、前言最近在搞Unity在Windows平台的崩溃捕获,想要捕获崩溃,得先稳定地制造崩溃,本文就教大家在Unity中如何通过C++故意制造崩溃。二、具体操作1、C++代码创建个test.cpp文件,写个接口,故意访问非法内存,这样会抛出SIGSEGV信号,从而引发崩溃,代码如下#include <io原创 2020-11-16 16:05:38 · 1386 阅读 · 0 评论 -
新发的日常解惑——visual studio创建c++ Windows桌面应用,报错:The WindowsSDKDir property is not defined
一、问题visual studio创建c++ Windows桌面应用,提示各种找不到.h文件生成解决方案时报错:1>------ 已启动生成: 项目: WindowsProject1, 配置: Debug Win32 ------1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(441,5): wa原创 2020-11-14 17:32:11 · 1955 阅读 · 3 评论 -
新发的日常学习——使用MinGW编译和运行C/C++代码(gcc/g++/gdb)
文章目录一、前言二、MinGW下载三、配置环境变量四、编写C程序五、使用gcc命令编译C代码六、使用gdb运行程序七、gdb断点和单步运行一、前言我们做实验的时候,写些C/C++的小Demo,如果不想打开超级占内存的VS,我们可以使用MinGW的gcc或g++工具对我们的小Demo进行编译成可执行程序。二、MinGW下载MinGW,是Minimalist GNUfor Windows的缩写。Windows下我们可以使用MinGW在命令行编译运行C/C++程序。MinGW官网:http://www.原创 2020-10-18 13:37:57 · 3450 阅读 · 1 评论 -
新发的日常学习——IDA的入门使用,反编译so/dll文件(反编译神器)
文章目录一、前言二、IDA下载安装三、IDA使用1、编写test.c2、将test.c编译成so文件3、用IDA打开so文件4、找函数四、结束语一、前言之前一般是搞搞c#、java的反编译,比较方便,如果是用C/C++写的so,用什么工具来反编译呢?最有名的应该是IDA了。二、IDA下载安装链接:https://pan.baidu.com/s/1NATDYzomBYiwrwdH6qBjUA提取码:2dmyIDA官网:https://www.hex-rays.com/三、IDA使用1、编写te原创 2020-10-17 22:50:00 · 26799 阅读 · 3 评论 -
Unity通过NDK、JNI实现C#、java、C/C++之间的相互调用
一、关于NDKNDK,全称Native Development Kit,是Android的一种开发工具包。目前的Android开发,不再是纯粹的Java层开发,更多的会与C/C++结合,把一些重要的方和行为以及一些私密性质的东西放在C/C++中,通过NDK将其编译成.so动态库文件,放入工程中的libs目录。二、Unity在Android平台通过C#调用.so库接口如果是Java调用C/C++写的.so动态库的接口,需要用到JNI,如果是Unity中使用C#调用C/C++写的.so动态库的接口,则通原创 2020-09-19 18:43:25 · 7097 阅读 · 11 评论 -
lua pbc 使用
lua pbc先要将proto文件编译成.pb文件,然后再动态绑定实现lua protobuffer,这就需要了解云风做的pbc的项目,地址为:https://github.com/cloudwu/pbc/blob/master/binding/lua/README.md在github上下载pbc,https://github.com/cloudwu/pbc具体的方式是,下载pbc的项目;在...转载 2019-05-24 14:20:06 · 2523 阅读 · 0 评论 -
关于moba游戏的移动同步技术
服务器对客户端世界进行模拟,包括世界中的所有碰撞都需要服务器进行检测。客户端移动摇杆,发送move_dir协议给服务器,数据为一个方向向量 (x和z) 和一个角度,服务器返回run_state协议,数据为:开始移动的坐标,方向向量和速度。客户端把英雄置到那个坐标然后才开始移动。开始移动后,不需要再进行通信,除非摇杆改变了移动方向。当松开摇杆的时候,会发送stop原创 2016-11-13 18:49:55 · 6998 阅读 · 3 评论 -
Unity3D性能优化
转载注明出处:点击打开链接一、概念1.1 drawcall是啥?其实就是对底层图形程序(比如:OpenGL ES)接口的调用,以在屏幕上画出东西。所以,是谁去调用这些接口呢?CPU。1.2 fragment是啥?经常有人说vf啥的,vertex我们都知道是顶点,那fragment是啥呢?说它之前需要先说一下像素,像素各位应该 都知道吧?像素是构成数码影像的基本单元呀。那frag转载 2016-06-11 17:02:09 · 1156 阅读 · 0 评论 -
单例模板类
public class Singleton where T : new(){ private static T m_instance; private static readonly object m_lock = new object(); public static T GetInstance() { if (null == m_instan原创 2015-09-25 23:41:55 · 843 阅读 · 0 评论 -
Matlab与C++混合编程
关于Matlab与C++混合编程,网上资料不多,我这里根据自己的研究,写一下这个过程吧,能力有限,见谅哈Malab设置我们要对Matlab进行设置,因为需要把Matlab程序生成dll链接库让C++调用,所以需要为Matlab设置一个C++编译器。在Matlab的Command Window中输入mbuild -setup,按Enter键,Matlab会问你是否要定位已经安装了原创 2015-06-13 18:08:13 · 2026 阅读 · 0 评论 -
C++链接库的编写与调用
C++链接库部分Hello.h#ifndef _HELLO_H_#define _HELLO_H_#define HELLO_EXPORTS#ifdef HELLO_EXPORTS#define HELLO_API extern "C" __declspec(dllexport)#else#define HELLO_API extern "C" __declspec(dlli原创 2015-06-13 17:47:05 · 757 阅读 · 0 评论 -
C++的dll导出类
首先建一个dll项目然后做一个公用的头文件【Export.h】#ifndef _EXPORT_H_#define _EXPORT_H_struct ICalculator{ virtual int Add(int dwNum1,int dwNum2)=0; virtual int Sub(int dwNum1,int dwNum2)=0;};#endif原创 2015-06-13 17:59:55 · 1020 阅读 · 0 评论 -
C# 数据封装和解析
/// /// 数据封装和解析类/// 作者:林新发/// using UnityEngine;using System.Collections;using System.Collections.Generic;using System.Text;using System;public class NetBitStream { //原创 2015-06-12 15:00:44 · 1706 阅读 · 0 评论 -
C++解析一段以;分隔的字符串
string strContent ="101;231;54;3;";string strTmp;std:vector itemVec;char szContentItem[128];string::szie_type nIndex;while((nIndex = strContent.find(";")) != string::npos){ int num; strTmp = s原创 2015-06-13 15:22:09 · 2973 阅读 · 0 评论 -
C# 调用C++链接库与回调
***********************************************************************************************************C++部分//MyTest.h#ifdef _WIN32_#ifdef MY_TEST_EXPORTS#define MY_TEST_API __declspec原创 2015-06-13 12:23:32 · 833 阅读 · 0 评论 -
使用NDK编译C/C++为.so文件
概述:Android NDK是一系列工具的集合。帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。NDK集成了交叉编译器,并提供了相应的mk文件隔离平台、CPU、API等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。...原创 2015-06-13 14:03:02 · 5383 阅读 · 0 评论 -
C#给C++传参的兼容问题
C#给C++传参数的时候要考虑到兼容问题对应关系C# C++byte[] char* const char* const unsigned char*string char* const char*StringBuilder char*如果要让C++对传入的参数进行修改的,C#可以用StringBuilder官方原创 2015-06-13 13:07:13 · 964 阅读 · 0 评论 -
C# Socket模块
服务端using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.Runtime.InteropServices;using System.Net;using System.Net.Soc原创 2015-06-12 11:02:06 · 944 阅读 · 0 评论
分享