_get_pgmptr vs GetModuleFileName

时间:2015-03-24 19:53:01

标签: c++ c windows winapi

这两者之间有什么区别(如果有的话)? MSDN非常不清楚。

这听起来像是等价的: https://msdn.microsoft.com/en-us/library/windows/desktop/ms683197%28v=vs.85%29.aspx

但是听起来像_pgmptr可能并不总是给我一个完整的路径,但它并没有真正解释在什么情况下。 https://msdn.microsoft.com/en-us/library/tza1y5f7.aspx

_pgmptr对我来说似乎更有吸引力,因为我不需要用它来玩缓冲区大小的猜测游戏。

2 个答案:

答案 0 :(得分:3)

_pgmptr在内部使用GetModuleFileName初始化,因此答案是没有区别的 - 它们将返回相同的字符串。

答案 1 :(得分:1)

至少存在一个区别:_get_pgmptr()在应用程序初始化早期不可用,而GetModuleFileName()是。{1}}。我刚被Static Initialization Order Fiasco所咬,因为:(