목록flatbuffers (2)
Coding Memo
3가지 직렬화를 비교해보자. 1. BitConverter를 이용2. Unsafe 코드인 StructureToPtr을 이용하여 메모리 내용을 그대로 이용3. 직접 바이트를 조작속도 비교 C++로 작성된 서버와 C#으로 작성된 클라이언트의 통신에서 패킷 정보 파싱을 위해 PacketHeader라는 구조체를 이용했다. PacketHeader는 unsigned int16 (ushort)의 Id 값과 같은 타입의 Size로 이루어져 있다. C++의 placement new를 이용해서 메모리에 있는 값 그대로 전송하여 C#에서 파싱하는 형태이다. PacketHeader는 다음의 구조이다.[Size, 2 bytes][Id, 2 bytes] C#에서도 위 메모리 순서를 지키면서 다음 구조체를 작성하였다.[StructL..

Error Create~~를 이용해 flatbuffer관련 객체나 구조체를 생성할 때 나타나는 에러이다. assert에 의한 에러이다. Problem 다음은 문제의 코드이다. CreateString을 이용해 flatbuffer 문자열을 만드는 중에 에러가 발생했다. #pragma comment(lib, "Release\\flatbuffers.lib") #include "flatbuffers/flatbuffers.h" #include "flatbuffers/util.h" #include "flatbuffers_scehmas/MyGame_generated.h" #include using namespace std; using namespace MyGame; int main() { // error codes {..