リナックスの環境で開発を勧めております。
主にC言語でプログラム書いていてコンパイルまではできたのですが、実行してもプログラム上で指定しているPythonが呼び出されません。
cのプログラムを実行してる中でPythonのプログラムも呼び出して実行するやり方をご教師お願いします。
c言語のプログラム
void abc(int); int main(void) {省略} void abc() { char passbuf1[] ="Python main.py"; system(passbuf1); }
コンパイルの仕方は
`gcc -fPIC main.c `python3-config --cflags --ldflags`
実行のコマンドは
` sudo ./main
実行結果を見ると
main.py: not found
と表示されます。
$ gcc -fPIC main.c `python3-config --cflags --ldflags`
この通りにコンパイルしてエラーが発生せずに正常終了したのであれば、
$ sudo ./a.out
でしょう。こうしても、まだ Python スクリプトは動作しないでしょうけれども。
まず一つ目。「Markdownを使え」です。
ヒント1: https://teratail.com/help/question-tips#questionTips37
ヒント2: https://www.markdown.jp/what-is-markdown/
ヒント3: https://un4navi.com/prologue/20079/
sudo ./a.out で実行してもコマンドが見つからないと出てきます
自分の都合だけしか見ないタイプでしょうか?
Markdownを使えと言っているのですが…。
Markdownを使わないと他のユーザからすると読みづらいです。
まあこ \nたえをあ \n げて
も
い
い
け
ど
ど お
し
まし
ょ か
?
> sudo ./a.out で実行してもコマンドが見つからないと出てきます
ええ、まぁ、コンパイルは、成功している、のでしょう。。。関数名に、問題が、あります、ね。
お願いします!
例えばvoid moter(int host)ということでしょうか?
> お願いします!
の前にやることありますよね?
Markdownを使いましょう。
ヒントとしてリンク先を三つほど提示しましたが、お読みになりましたか?
少なくとも『ヒント1』でわかると思いますが。
ご自分の質問をお読みになってください。
なおしてみました
OKです。
そもそも、「Hello world と表示するだけ」みたいな簡単なプログラムを、書いて、コンパイルして、実行した事があるのでしょうか?
あります。
> あります。
それで、
> 実行のコマンドは
> sudo ./main.c
ということは、そのときのことをすっかり忘れてしまったんでしょうか。思い出して、そこからやり直してみましょう。
すみません質問の方にも.cいれてました。 sudo ./mainそれでもできないです。
回答した後に確認すると質問本文を修正されているようですが、『現在のコードではどうなるのか』も書いた方がいいです。もしかしたらOSの設定によるものかもしれないし、もしかしたらそれ以外の環境かもしれないし、もしかしたらコードの問題かもしれないし。
> CもPythonも単独で実行するとプログラムは動きます。
で書いている、「動いた」と言っているそのときの、下記について書いてください。
・Cのプログラム内容
・Cプログラムをコンパイルしたときのコマンド
・Cプログラムを実行したときのコマンド
・Pythonプログラムを実行したときのコマンド
記憶に基づいて今書くのでなく、確実に実行できた端末からのコピペで。
皆様ありがとうございます。
今また修正をかけてみます
またあげ直します
> main.py: not found
エラーメッセージとしては「main.pyってのは無いぞー」みたいなものです。
カレントディレクトリ(現在位置)にmain.pyはありますか?
ディレクトリを分けていたので同じところに収納したのですが、main.py: not foundとでてきます
回答3件
あなたの回答
tips
プレビュー