use*_*291 2 c# static-methods objective-c
http://gcc.gnu.org/onlinedocs/gcc-2.95.3/objc-features_1.html#SEC2
GNU Objective-C运行时提供了一种允许您在程序执行进入main函数之前执行代码的方法.代码通过特殊的类方法+加载在每个类和每个类别的基础上执行.
更新:我在下面阅读的答案并不令人满意.从主程序调用函数没什么特别之处.问题是关于HOOKING SYSTEM是SYSTEM在没有你的程序的情况下调用函数,即使在RUNTIME上也知道它.
而不是Objective C,请参阅Visual C++上的这篇文章(感谢stackoverflow的人回答我之前的问题):http: //www.codeguru.com/cpp/misc/misc/threadsprocesses/article.php/c6945
否则,Objective C Runtime不需要包含此加载方法.主要的入口点当然存在于Objective C程序中,如果只需要在主方法中调用静态方法就没什么大不了的:)
在OOP语言中,因为main总是在一个类中,所以总有一种方法可以在执行main函数之前运行一些代码.在Java中,它被称为静态初始化块.C#也提供了类似的机制.看到这个链接
代码示例:
namespace CSharpConsoleTest
{
class Program
{
static Program()
{
Console.WriteLine("Test123");
}
static void Main(string[] args)
{
Console.WriteLine("Test111");
}
}
}
Run Code Online (Sandbox Code Playgroud)
那么关键是能够在类中初始化静态变量,因为它们是在实例变量之前创建的.
| 归档时间: |
|
| 查看次数: |
1653 次 |
| 最近记录: |