0

Cydia に同梱されている GNU コンパイラを使用して、iOS プラットフォーム用のソース ファイルもコンパイルする GUI C/C++ エディタを作成しています。

Cydiaアプリになるので、すべてうまくいくはずです。

ファイルをコンパイルするには、端末のコマンド ラインを実行する必要があります。他に何も考えられないため、関数 "system()" の使用を検討しています。

現在、ターミナルの出力と入力を何らかの方法で GUI にリダイレクトする方法を探していますが、どこから始めればよいかわかりません。

パイプを使用してそれを行うことができるかもしれないと読みましたが.txt、端末出力のみのファイルではなく、端末からの「ライブ」入力と出力が必要なため、実際には必要なことを行いません...

誰かが私を助けてくれることを願っています。

4

1 に答える 1

1

もちろん。を使用しpopen()ます。このようなもの:

const char *cmd = [NSString stringWithFormat:@"gcc -o %1$@.o %1$@.c", sourceFileName].UTF8String;

FILE *p = popen(cmd, "r");
size_t sz;
char buf[1024];

while ((sz = fread(buf, sizeof(buf), 1, p) != 0) {
    NSString *s = [[NSString alloc] initWithBytes:buf length:sz encoding:NSUTF8StringEncoding];
    textView.text = [textView.text stringByAppendingString:s];
    [s release];
}

pclose(p);
于 2013-02-09T23:34:47.897 に答える