• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Pythonで、C言語のモジュールを利用したい!)

PythonでC言語のモジュールを利用する方法

noname#39970の回答

noname#39970
noname#39970
回答No.1

良く読んでないけどこのあたりかなぁ? http://docs.python.org/ext/using-cobjects.html

yamadeen
質問者

お礼

今更ですがありがとうございました。

yamadeen
質問者

補足

早速の回答ありがとうございます。 C言語でPython.hをつけたり、ラッピングしてからでないと使用できないというのは分かったのですが、具体的なモジュールの生成方法とかがよく分かっておりません。(そもそもDLLファイルでよいのか?import "ファイル名"でよいのか?) そこらへんを経験のある方がおられましたら、よろしくお願いいたします。

関連するQ&A

  • gccとPython.hのパス

    cygwinでPythonの拡張モジュールを作成しようとgcc test.c とすると、Python.hがありませんと表示されます。 インクルードパスを通すにはどのようにしたら良いのでしょうか? //test.c #include <Python.h> ..

  • C言語とpython言語について。

    Visual Studio Codeで、C言語(これは必要なものを全てインストール済み)で、その上で、python言語のインスール(必要なもの全て)しても、C言語が、実行&コンパイル出来なくなる事はないですよね?教えて頂けると幸いです。

  • Python クラスとモジュールの違いについ

    プログラミング初心者です。※初めてのプログラミングでPythonの勉強中です。開始2週間程度です!! Pythonにおける(プログラム一般における?)クラスとモジュールの違いが分かりません。 ■現状の認識 ・モジュール 「***.py」といったような一つのファイル 他のモジュールからimportすることによって使用できる ・クラス 「***.py」といった一つのファイルの中に「class」として宣言できる 他のモジュールからインスタンスを生成して使用できる ■疑問点 上記を使い分ける意味 上記を使い分けた時のメリット、デメリット ※すべてモジュールとして作成して、使用したいときにimportすればいいのでは?と考えています。 現状Pythonの知識しかありませんが、プログラミング一般の知識のような気がしています。 プログラムに詳しい方よろしくお願い致します。

  • c言語について、質問します。

    c言語について、質問します。 環境設定を行いましたが、 コンパイルが何度、やってもできません。 c:?source>gcc -o sample sample.c と入力すると、 gcc:installation problem, cannot exec cc1':No such file or directory とでます。 成功したら、このような文字はでないとかいてあるのですが、どうすればよろしいですか?

  • C言語の実行モジュール、コンパイル

    2点程、教えて頂きたい事があります。 よろしくお願いします。 (1)Solaris9でC言語でコンパイルされた実行モジュールを、そのままSolaris10にコピーし実行した場合、実行できるのでしょうか? (2)Solaris10で、makefile等を利用しC言語のコンパイルをしようと思うのですが、Solaris10がインストールされた段階で既にコンパイルする環境は整っているのでしょうか?。それともCD等からコンパイル環境をインストールしないといけないのでしょうか?(Solarisメディアが無い場合にコンパイル可能でしょうか?)

  • 独習C言語のコンパイル

    C言語初心者です。 他の方が質問されてて、 その回答通りにコンパイルを実施したのですが、 何度やっても同様の現象となり、そこからなかなか進めません。 C:\TYC4TH>gcc C:\TYC4TH\test.c -c test.exe gcc: test.exe: No such file or directory C:\TYC4TH>dir 2008/05/10 16:29 120 test.c 2008/05/10 16:32 590 test.o となり、なぜかtest.oが作成されます。 申し訳ないですが、ご教授願います。

  • Pythonのバージョンアップについて

    CentOS5.5にはPython2.4がデフォルトで入っているのですが、Python2.6でスクリプトを作成する必要がありバージョンアップをしているのですが、dbusモジュールのインポートができず行き詰っております。 具体的には、Python2.4とdbus-pythonがインストールされている状態で、下記のURLを参考にyumでPython2.6をインストールしました。 環境としては「/usr/bin/phthon2.4」と「/usr/bin/phthon2.6」が出来た状態です。 libは「「/usr/lib/phthon2.4」と「/usr/lib/phthon2.6」です。 dbus-pythonのインストール先は「/usr/lib64/python2.4/site-packages/dbus」になります。 Python2.4を環境で下記のインポートは問題ありません。 >>>import dbus しかし、Python2.6環境で同じコマンドを実行すると下記のようなエラーになります。 >>> import dbus Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named dbus dbusの再インストールはリスクが高いと思い、モジュールのパスを通してみたところ下記のようなエラーになりました。 >>> import sys >>> sys.path.append('/usr/lib64/python2.4/site-packages') >>> import dbus Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python2.4/site-packages/dbus/__init__.py", line 1, in <module> from _dbus import * File "/usr/lib64/python2.4/site-packages/dbus/_dbus.py", line 45, in <module> import dbus_bindings ImportError: /usr/lib64/python2.4/site-packages/dbus/dbus_bindings.so: undefined symbol: Py_InitModule4 rpmでモジュールインストール先の変更や、Python自体をソースからインストールなどしてみたのですが、全てうまく行かない状態です。 Pythonバージョンアップ前にインストールされているモジュールの使い方をご存知の方がおられましたら、宜しくお願いします。

  • C言語について教えていただきたいです

    以下3種類のファイルがあり(リンクをご参照いただきたいです)、 A.c ( http://denny-hrj.com/a.c ) B.c( http://denny-hrj.com/b.c ) X.h ( http://denny-hrj.com/x.h ) A.cを書き換えて、追加を可能にし gcc -o D.out B.c D.c でコンパイル可能に、 さらに、D.cを書き換え、追加と削除を可能にし、 gcc -o E.out B.c E.c でコンパイル可能にする。 これらはどのように書き換えればいいでしょうか? 必要に応じてB.cを書き換える場合、どのように書き換えるべきかもご教授いただきたく存じます。 まだC言語の初心者で理解が浅く、私自身のレベルはそこまで達していないのですが、 期限が近づいてきてしまいました。 どうか、お願いいたします。

  • Cygwinでコンパイルできません。

    CygwinをすべてDefaultでインストールしました。 テキストエディタとしてTeraPadを利用しています。 テラパッドでtest.cというファイルをつくり、 gcc -o test test.c でコンパイルしたのですが gcc:test.c:No such file or directory gcc:no input files と表示されます。 正常にコンパイルするにはどうしたらいいのでしょうか? 自分はC言語について勉強したばかりでくわしくないので、この質問を書いていて言葉足らずなところがあり説明不十分かもしれませんが、よろしくお願いします。

  • C言語からjavaを呼び出したい

    C言語からjavaを呼び出したいのでjniを使うことにしました。 各言語のソースはWebで見つけたサンプルを見ながら何とか作成し、各々コンパイルまで終わったのですが、javaのオブジェクト(?)をどこに置いたら良いのかさっぱりわかりません。 java使いの人達には常識の話だと思いますがjavaはサーブレットしか作ったことが無くどうしたものかと困っています。 分からないのは次の2点です。 1.classファイルのままでも良いのかjarにしないといけないのか? 2.どこに設置したら良いのか? これまでやったこと 1.javaのソースを作成しコンパイルしました(classファイルのままです) 2./etc/profileに次のコマンドを追加しました。 LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/java/jdk1.7.0_03/jre/lib/amd64/server export LD_LIBRARY_PATH 3.C言語のソースを次のコマンドでコンパイルしました。 % gcc -I/usr/java/jdk1.7.0_03/include/ -I/usr/java/jdk1.7.0_03/include/linux -L/usr/java/jdk1.7.0_03/jre/lib/amd64/server -ljvm -lpthread jnitest.c -o jnitest 4.javaモジュールの設置←これがわかりません 初歩的な質問で申し訳ありませんがご教示下さい。

    • ベストアンサー
    • Java