У меня тут довольно неясная проблема. Я пишу плагин для Photoshop (для Mac), используя Xcode.
Я использую операторы printf для простой отладки. Однако printf без строки формата работает нормально, если я использую строку формата, чтобы попытаться распечатать значение, которое не отображается в консоли отладчика xcode.
#include <stdio.h>
DLLExport MACPASCAL void PluginMain(const int16 selector,
FilterRecordPtr filterRecord,
intptr_t * data,
int16 * result) {
printf("hello world\n"); //shows up in console
printf("hi number %i\n", 5);//does not show up in console
....
}
Я отлаживаю с помощью запуска Photoshop Xcode, затем запускаю свой плагин из меню Photoshop. Если я сделаю прямой 'gdb Photoshop' из терминала, строка формата printf будет работать нормально. Кроме того, я написал простую отдельную программу hello world на XCode, и строки форматирования там тоже отлично работают. Очевидно, это связано с тем, что он является частью плагина, но очень странно, что обычная работа printf, а форматная строка printf - нет.
Есть какие-нибудь подсказки?