簡體   English   中英

Objective-C 不打印(NSLog 和 PrintF 不工作!)

[英]Objective-C Does not Print (NSLog and PrintF Not WORKING!)

我已經搜索了幾個小時,嘗試了 20 多個文件,並且每次都在 Xcode 中或通過終端運行。 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 個,但讓我們從非常非常簡單的開始。 運行后,控制台沒有輸出。 糊塗了。 到處都顯示輸出,我嘗試切換計算機並運行它,同樣的事情。 你到底做了什么設置或做什么來打開 Objective-C 的注銷。 沒有教程或任何地方涵蓋這一點。

在此處輸入圖片說明

納達印刷。

您只編譯文件,不保存結果。 -o選項用於寫入輸出,因為您沒有提供文件名,所以編譯器只會忽略結果而不保存它。 要運行它,請使用以下命令:

clang -framework Foundation hello.m -o test
./test

或者,作為快捷方式,

clang -framework Foundation hello.m -o test && ./test

如您所見,現在我們將輸出文件的名稱指定為test ,然后執行它。 現在您將能夠看到輸出。

另外,請注意NSLog不再打印到stdout並將所有消息重定向到OSLog子系統。 您可以在 Console.app 中查看此類日志。 如果您想了解更多信息,請查看統一日志記錄和活動跟蹤WWDC 會話。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM