- UID
- 2285
- 精华
- 积分
- 513
- 威望
- 点
- 宅币
- 个
- 贡献
- 次
- 宅之契约
- 份
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
发表于 2018-8-7 12:08:11
|
显示全部楼层
本帖最后由 乘简 于 2018-8-7 13:12 编辑
写的代码高深莫测啊,,这里我没看懂啊,希望楼主指点一下。
这里是声明部分:
- //MIDIFILE的函数调用约定
- #ifndef Midi_c
- #define Midi_c _cdecl
- #endif // !Midi_c
- //MIDIFILE的符号导出规则
- #ifndef Midi_x
- #ifdef __cplusplus
- #define Midi_x extern"C"
- #else // !__cplusplus
- #define Midi_x extern
- #endif // !__cplusplus
- #endif // !Midi_x
- //MIDIFILE的导出函数
- #define Midi_fn(fn,rt) Midi_x rt Midi_c fn
复制代码
这里是调用:
- //分析文件
- if(!MidiParserStart(&Parser))
- {
- fputs("Could not start the parser.\n",stderr);
- goto BadRet;
- }
复制代码
这里是实现:
- //=============================================================================
- //MidiParserStart:
- //分析MIDI文件,为播放做准备。失败返回零,成功返回非零
- //-----------------------------------------------------------------------------
- Midi_fn(MidiParserStart,int)
- (
- MidiParser_p pParser
- )
- {
- ...
- return 0;
- }
复制代码
============================================================================
哈哈。。。已经看懂了。
翻译过来就是:
extern int _cdecl MidiParserStart(MidiParser_p pParser){...}
|
|