只使用C可以使用Windows API吗?

时间:2012-01-15 02:43:57

标签: c windows winapi java-native-interface shared-libraries

我正在教自己C(来自Java)。我非常欣赏这门语言,而且我学习它的主要原因之一是我可以利用Java内置的JNI功能在必要时编写本机代码。我的问题主要是关于Windows API。我可以仅使用C来使用API​​的功能和特性吗?

Windows API是否与纯C代码兼容,或者它是否包含只能由C ++代码使用的类?

另外,如果我在Windows机器上编译共享库为(lib.sl NOT lib.dll),它是否可以在另一台机器(Mac / Linux)上运行?

2 个答案:

答案 0 :(得分:7)

  1. Windows API(又名Win32 API)是纯C库。
  2. 除非有支持Windows ABI的软件,例如WineReactOS,否则您无法在其他非Windows计算机上使用Windows共享库。

答案 1 :(得分:0)

像其他人一样指出的Win32 API是纯粹的C.这意味着,一旦掌握了它,你就会知道操作系统如何工作的一切。通常与其他操作系统的情况相同。如果您使用的是MFC / COM +或Java包装器,即使您可以构建出色的程序也是如此。