Objective-C 不打印(NSLog 和 PrintF 不工作!)
Objective-C Does not Print (NSLog and PrintF Not WORKING!)
我已经搜索了几个小时,尝试了 20 多个文件,并且每次都在 Xcode 中或通过终端 运行ning。 None 将呈现任何输出。我重新启动终端并重新启动计算机。仍然没有运气。在这一点上,我完全不知道发生了什么。
#import <Foundation/Foundation.h>
int main(int argc, char** argv)
{
NSLog(@"Testing\n");
printf("Hello\n");
}
在终端
gcc -framework Foundation hello.m -o
或
clang -framework Foundation hello.m -o
都行不通!
我可以输入我试过的其他 50 个,但让我们从非常非常简单的开始。在 运行ning 之后,没有输出到控制台。糊涂得要命。到处都显示输出,我尝试切换计算机并 运行 它,同样的事情。你设置或做什么来打开 Objective-C 的注销。没有教程或任何地方涵盖这一点。
Nada 印刷。
您只编译文件,不保存结果。 -o
选项用于写入输出,因为您没有提供文件名,所以编译器只会忽略结果而不保存它。
要 运行 它使用以下命令:
clang -framework Foundation hello.m -o test
./test
或者,作为快捷方式,
clang -framework Foundation hello.m -o test && ./test
如您所见,现在我们将输出文件的名称指定为test
,然后执行它。现在您将能够看到输出。
另外,请注意 NSLog
不再打印到 stdout
并将所有消息重定向到 OSLog
子系统。您可以在 Console.app 中查看此类日志。如果您想了解更多信息,请查看 Unified Logging and Activity Tracing WWDC session。
我已经搜索了几个小时,尝试了 20 多个文件,并且每次都在 Xcode 中或通过终端 运行ning。 None 将呈现任何输出。我重新启动终端并重新启动计算机。仍然没有运气。在这一点上,我完全不知道发生了什么。
#import <Foundation/Foundation.h>
int main(int argc, char** argv)
{
NSLog(@"Testing\n");
printf("Hello\n");
}
在终端
gcc -framework Foundation hello.m -o
或
clang -framework Foundation hello.m -o
都行不通!
我可以输入我试过的其他 50 个,但让我们从非常非常简单的开始。在 运行ning 之后,没有输出到控制台。糊涂得要命。到处都显示输出,我尝试切换计算机并 运行 它,同样的事情。你设置或做什么来打开 Objective-C 的注销。没有教程或任何地方涵盖这一点。
Nada 印刷。
您只编译文件,不保存结果。 -o
选项用于写入输出,因为您没有提供文件名,所以编译器只会忽略结果而不保存它。
要 运行 它使用以下命令:
clang -framework Foundation hello.m -o test
./test
或者,作为快捷方式,
clang -framework Foundation hello.m -o test && ./test
如您所见,现在我们将输出文件的名称指定为test
,然后执行它。现在您将能够看到输出。
另外,请注意 NSLog
不再打印到 stdout
并将所有消息重定向到 OSLog
子系统。您可以在 Console.app 中查看此类日志。如果您想了解更多信息,请查看 Unified Logging and Activity Tracing WWDC session。