关于private/public/interface关键字?
sunyd1006 opened this issue · comments
关于这篇内容,确实是大家的痛点,很多人对这部分有疑问。会考虑重制一下这篇文章的。
- PRIVATE:当一个目标被定义为PRIVATE时,它表示这个目标只应用于该目标自身。也就是说,如果你有一个库A,而你把库B设置为库A的PRIVATE依赖,那么只有库A能使用库B,而不能链接库A的其他目标无法使用库B。
- INTERFACE:表示只有当其他目标链接到该目标时,才会使用这个目标。用库A和库B的例子来说,如果你把库B设置为库A的INTERFACE依赖,那么只有当其他目标链接库A时,才会使用库B,而库A自身无法使用库B。
- PUBLIC:表示该目标同时应用于自身和链接到它的其他目标。再用库A和库B的例子,如果你把库B设置为库A的PUBLIC依赖,那么库A和链接库A的其他目标都能使用库B。