
一般的做法是,使用指针在调用和被调用之间传递数据。做法可以参考WIN32API和一些大型软件的做法。据我所知,大致有两种情况:
1.类似WIN32API的做法。不论是IN还是OUT参数,所有的存储空间都有调用方提供。如:
GetTemp(TCHAR* TempPath)
调用时,TCHAR tp[80]memset(tp, 0, 80*sizeof(TCHAR))GetTemp(tp)
2.类似AutoCAD API的做法。凡是需要OUT的参数,所有的存储空间都由被调函数提供。这种情况,一般还同时会提供一个空间释放函数,类似free()。例:
GetTemp(TCHAR** TempPath)
调用时:TCHAR* tp=NULLGetTemp(&tp)...free(tp)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)