我正在尝试使用C++来理解西门子扫描仪的编程,并且鉴于我的C++技能有限,我在理解供应商提供的代码的许多部分时遇到了问题.
例如,代码使用引用(rMrProt)来对象MrProt和符号(例如使用().和()[].)对我来说非常困惑.例如:
ImageSamples = rMrProt.kSpace().baseResolution()
ImageSize = rMrProt.sliceSeries()[0].readoutFOV()
Run Code Online (Sandbox Code Playgroud)
对这些陈述的一些解释将不胜感激.
有关对象MrProt的所有信息都在"MrProt.h","MrProt.dll","MrProt.lib"中.所有这些文件均已在以下网址分享:https: //docs.google.com/open?id = 0B0Ah9soYnrlIYWZkNDU2M2EtYTNmNC00YTc5LTllMzItYzIyMWU4M2ZhY2Fi
此外,我一直试图读取MrProt.dll和MrProt.lib没有任何成功.直到现在,我才知道了dumpbin.任何帮助,将不胜感激.
我所遇到的另一个困惑是与MrProt.h本身的某些部分有关.MrProt.h中有一条声明:
class __IMP_EXP MrProt: public MrProtocolData::MrProtDataDelegate
{
typedef MrProtocolData::MrProtDataDelegate BasicImplementation;
public:
MrProt();
MrProt(const MrProt& rSource);
…
….
}
Run Code Online (Sandbox Code Playgroud)
在这里,__IMP_EXP我想这是一些编译器特定的东西..一些装饰等.但是,我仍然不知道该怎么做.
问题1.
rMrProt.sliceSeries()[0].readoutFOV()
Run Code Online (Sandbox Code Playgroud)
手段
rMrProt的sliceSeries成员和调用.显然,它返回一个类似数组的对象,可以编入索引.[0]).这是某种对象.readoutFOV.问题2.你真的不应该读二进制文件.应该有他们的文件.