LIB中添加一个获取PE文件的文件版本的函数
Archive for 14 9 月, 2011
GetFileVersion
星期三, 14 9 月, 201132bit Or 64bit
星期三, 14 9 月, 2011一直比较困惑跨平台以及跨32bit/64bit边界的编程问题,主要是基本数据类型的sizeof大小问题。
比较确定的是(unsigned) char/(unsigned) short基本都是1byte/2byte。虽然int、long都是内置类型,但归根结底还是得看编译器的实现:32bit下一般都是4byte,64bit下就可能有多种情况了(44、48、88等)。但无论怎样编译器都知道它们的确切大小,有问题还是求助编译器吧。
32bit/64bit最大的区别就是指针大小,肯定是4byte和8byte了,因此Windows SDK的头文件通过是否定义了_WIN64宏来确定INT_PTR等自定义PTR类型的大小(_int64 or int)。
如何跨平台,当然是宏和typedef了。typedef时加上类型名称及位数,这样清晰明了,如typedef unsigned char uint8等。至于typedef unsigned int是uint32还是uint64估计还得看具体的环境了。
附上一篇参考资料:http://blog.csdn.net/tangl_99/article/details/1963762