Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C+中的序列化+;和C#中的反序列化,以及命名管道的反序列化 我有两个进程(.exe),一个是用C++实现的,另一个是用C实现的。我想要的是两个过程之间的沟通。为此,我选择了“命名管道”方法。我面临的问题是将类对象从一个应用程序传递到另一个应用程序。我很容易发送字符串数据,但我不知道如何将类对象从应用程序发送到另一个应用程序。我的班级结构如下: enum information { TITLE, STATUS, DEBUG, INFO, OTHER }; class CInformation { private: information _info; string _text; public: void setInformation(information info, string text) { _info = info; _text = text; } inline information GetInfo() { return _info; } inline string GetText() { return _text; } };_C#_C++_Serialization_Deserialization_Marshalling - Fatal编程技术网

C+中的序列化+;和C#中的反序列化,以及命名管道的反序列化 我有两个进程(.exe),一个是用C++实现的,另一个是用C实现的。我想要的是两个过程之间的沟通。为此,我选择了“命名管道”方法。我面临的问题是将类对象从一个应用程序传递到另一个应用程序。我很容易发送字符串数据,但我不知道如何将类对象从应用程序发送到另一个应用程序。我的班级结构如下: enum information { TITLE, STATUS, DEBUG, INFO, OTHER }; class CInformation { private: information _info; string _text; public: void setInformation(information info, string text) { _info = info; _text = text; } inline information GetInfo() { return _info; } inline string GetText() { return _text; } };

C+中的序列化+;和C#中的反序列化,以及命名管道的反序列化 我有两个进程(.exe),一个是用C++实现的,另一个是用C实现的。我想要的是两个过程之间的沟通。为此,我选择了“命名管道”方法。我面临的问题是将类对象从一个应用程序传递到另一个应用程序。我很容易发送字符串数据,但我不知道如何将类对象从应用程序发送到另一个应用程序。我的班级结构如下: enum information { TITLE, STATUS, DEBUG, INFO, OTHER }; class CInformation { private: information _info; string _text; public: void setInformation(information info, string text) { _info = info; _text = text; } inline information GetInfo() { return _info; } inline string GetText() { return _text; } };,c#,c++,serialization,deserialization,marshalling,C#,C++,Serialization,Deserialization,Marshalling,正如您选择命名管道一样,现在必须选择序列化方法/约定。如果C++代码通过CLI访问.NET,那么就可以启动一个好的开端,因为您可以确保在两端都使用相同的规则。否则,您可以选择JSON、XML、简单文本字符串甚至二进制。您做出这种选择可能有技术原因(数据和结构与紧凑性等),也可能是由工具/框架的可用性(可能引导您使用JSON或XML)来为您执行(反)序列化。请注意,即使使用简单的文本字符串,也必须确保两侧使用相同的编码(UTF-8、ASCII等) 注意C++和C语言不以任何“兼容”的方式实现类的“

正如您选择命名管道一样,现在必须选择序列化方法/约定。如果C++代码通过CLI访问.NET,那么就可以启动一个好的开端,因为您可以确保在两端都使用相同的规则。否则,您可以选择JSON、XML、简单文本字符串甚至二进制。您做出这种选择可能有技术原因(数据和结构与紧凑性等),也可能是由工具/框架的可用性(可能引导您使用JSON或XML)来为您执行(反)序列化。请注意,即使使用简单的文本字符串,也必须确保两侧使用相同的编码(UTF-8、ASCII等)


注意C++和C语言不以任何“兼容”的方式实现类的“语言保证”,这取决于你将两个视图映射到彼此和/或构造类,例如,类似的JSON序列化布局。