素人です。教えて下さい。
書籍を参考に、Linux で Posix の共有メモリを使用するプログラ
ムを書いたのですが、ライブラリ関数がリンクできません。
shm_open() と、shm_unlink() なのですが、どこのどれをリンク
すればいいでしょうか? /usr/lib にはなさそうです。

A 回答 (1件)

あなたの環境がわからないので何とも言えませんし、どんなエラーが出ているのかもわからないので何も答えられませんが、google等で「shm_open LINUX LINK」をキーワードにして探してみましょう。



ライブラリ的にはglibcの中のような気がします。

まずは、書籍と同一環境を作り、その上で試すのが基本でしょう。
    • good
    • 0
この回答へのお礼

遅くなりましたが、どうもありがとうございました。

お礼日時:2001/10/21 02:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QBorlandbcc55とMYSQLのコンパイル時にlibmysql.libやmysqlclient.libのリンクについて

Windows上で、borlandbcc55、mysqlを利用しいてます。
Windows上のborlandbcc55、mysqlで
C/C++のソースでMYSQLの接続・切断・管理・MYSQLのレコードの値の取得・値の表示の仕方の基礎を教えてください。
これなら動きますよというソースを教えて頂けたら有難いです。

Borlandbcc55とmysqlの設定

my_global.hとmysql.hをincludeして、

コンパイル時にlibmysql.libやmysqlclient.libをリンクしてやればできそうなのですが

includeは
Cのソースで
#include "c:\mysql\include\mysql.h"
#include "c:\mysql\include\my_global.h"
と記述するだけでOKなのでしょうか?

MYSQLのLibmysql.libの設定の仕方及びコンパイル時にlibmysql.libやmysqlclient.libを
リンクする方法がわかりません。

bcc55コンパイラ設定のcfgファイルにlibMysql.libやmysqlclient.libを
追加設定必要ですか?
必要ならどう記述すればいいのでしょうか?
また違う仕方なのでしょうか?
全く理解できていません。
そのリファレンスをみてもわかりません。

1 coff2omf c:\mysql\lib\opt\libmysql.lib c:\borland\bcc55\lib\libmysql.lib
2 ilink32 obj-Dateien, exe-Dateiname, map-Datei, Libraries
3 -> ilink32 c0x32.obj testmysql.obj , testmysql.exe , , import32.lib cw32.lib libmysql.lib

これらの設定の仕方もわかりません。
設定に必要なのかどうかも理解できていません。
よろしくお願いします。

Windows上で、borlandbcc55、mysqlを利用しいてます。
Windows上のborlandbcc55、mysqlで
C/C++のソースでMYSQLの接続・切断・管理・MYSQLのレコードの値の取得・値の表示の仕方の基礎を教えてください。
これなら動きますよというソースを教えて頂けたら有難いです。

Borlandbcc55とmysqlの設定

my_global.hとmysql.hをincludeして、

コンパイル時にlibmysql.libやmysqlclient.libをリンクしてやればできそうなのですが

includeは
Cのソースで
#include "c:\mysql\include\mysql.h"
#inclu...続きを読む

Aベストアンサー

>includeは
>Cのソースで
>#include "c:\mysql\include\mysql.h"
>#include "c:\mysql\include\my_global.h"
>と記述するだけでOKなのでしょうか?

ダメでしたか?

cfgファイルにはよくつかうオプションを記述する。
普通は -I オプション、-L オプション。
どこにインクルードファイル、ライブラリファイルを置いてるかをコンパイラやリンカに教えるため。
よく使うのであれば追加すればいい。


>1 coff2omf c:\mysql\lib\opt\libmysql.lib c:\borland\bcc55\lib\libmysql.lib
c:\mysql\lib\opt\libmysql.lib はVisual C++用のライブラリファイルなので、coff2omfで変換しないと使えない。

>2 ilink32 obj-Dateien, exe-Dateiname, map-Datei, Libraries


>3 -> ilink32 c0x32.obj testmysql.obj , testmysql.exe , , import32.lib cw32.lib libmysql.lib
リンカを使ったことはありませんか?

>includeは
>Cのソースで
>#include "c:\mysql\include\mysql.h"
>#include "c:\mysql\include\my_global.h"
>と記述するだけでOKなのでしょうか?

ダメでしたか?

cfgファイルにはよくつかうオプションを記述する。
普通は -I オプション、-L オプション。
どこにインクルードファイル、ライブラリファイルを置いてるかをコンパイラやリンカに教えるため。
よく使うのであれば追加すればいい。


>1 coff2omf c:\mysql\lib\opt\libmysql.lib c:\borland\bcc55\lib\libmysql.lib
c:\mysql\...続きを読む

Q/usr/ucb/cc

よく/usr/ucb/ccは使わないほうが良いと書かれているのを見かけますが、なぜなのでしょうか?
ご存知の方は教えてください。

Aベストアンサー

OS が何であるか書かれてないので、はっきりした回答はできませんが、確か /usr/ucb/cc は大昔からあるコンパイラで、ANSI 規格に対応していなかったように思います。

ANSI C でないから使わない方が良い、ということではないでしょうか?

今なら、GNU C コンパイラがお勧めですね。フリーだし高性能だしサポートも良いし…

Qライブラリ、.libとは?

ライブラリと検索すると、標準ライブラリばかり出てきて「○○.lib」のことがいまいち見えてこないのですが、このファイルはどういったものなのでしょうか。
.h、.c、.cppなどでは代用が利かないものなのでしょうか。

あと、C、C++にはライブラリと言うものがあり、あると便利・・・
というのは何となく分かるのですが、
1.ライブラリを配布しているのをあまり見ませんが、どこかまとまって置いてある場所はあるのでしょうか。
2.あまり記載されている参考書が見当たりませんが、どのように使うものなのでしょうか。
3.「このライブラリはどういうものか覚えていた方がいい」というものはありますでしょうか。

この3点について教えていただけるとありがたいです。
よろしくお願いいたします。

Aベストアンサー

>1.ライブラリを配布しているのをあまり見ませんが、
>どこかまとまって置いてある場所はあるのでしょうか。
なんのライブラリのことでしょうか?
ライブラリとは汎用性の高い関数や機能を再利用可能な形にした物を
言います。これは、目的によってプログラマが作ったり、
既に公開されたりしているものもあります。

>2.あまり記載されている参考書が見当たりませんが、
>どのように使うものなのでしょうか。
ライブラリの作りはそれを使う環境にも依存しますが、
Windows環境の場合、Libファイルにはダイナミックリンクライブラリ
(DLL)とスタティックリンクライブラリという2種類が存在します。
Libファイル(***.lib)はDLLの場合、そのライブラリが提供している
関数の関数名などの外部参照用のデータが入っています。
そして、実行には使用したLIBファイルのバイナリデータが入った
DLLファイル(***.dll)が必要です。
スタティックリンクライブラリのLibファイルは、それ自体に
ライブラリのバイナリが含まれており、使う場合はその使ったアプリ
にバイナリとして埋め込まれます。
なので、実行時にDLLファイルは必要ありません。

>3.「このライブラリはどういうものか覚えていた方がいい」
>というものはありますでしょうか。
ライブラリについては特に覚えることは多くありませんし
自分でライブラリを作るなら覚えて損はありません。
むしろ、覚えなくてはいけないのは、ライブラリにした場合に
どのようなことに注意するかです。
ライブラリの扱いは上には上にも書いたとおり、環境に依存する
ところがあるため、使用する環境に応じてある程度作り方が
違ってきます。

>1.ライブラリを配布しているのをあまり見ませんが、
>どこかまとまって置いてある場所はあるのでしょうか。
なんのライブラリのことでしょうか?
ライブラリとは汎用性の高い関数や機能を再利用可能な形にした物を
言います。これは、目的によってプログラマが作ったり、
既に公開されたりしているものもあります。

>2.あまり記載されている参考書が見当たりませんが、
>どのように使うものなのでしょうか。
ライブラリの作りはそれを使う環境にも依存しますが、
Windows環境の場合、Libファイルに...続きを読む

QUNIX_Cにおける「名前つきパイプ(FIFO)」のcloseとunlinkについて教えてください

親プロセスと子プロセスで、「名前つきパイプ(FIFO)」を用いて、インターフェースを行う場合。
closeとunlinkで処理を終了させたいのですが、open時に一つのFIFOにつきreadとwriteの二つのIDが得られます。この二つのIDで必ず各々closeをしなくてはならないのか?または、一つのIDで一回closeを行えばよいのか?

回答をお願いいたします。

Aベストアンサー

それぞれ二つのファイルハンドルを close する必要があります。

ただ、プロセスの終了時に close 処理が行われますので、プロセス間通信をするふたつのプロセスが
ずーっと活きているのではない(子プロセスの標準出力を親が取得する程度(*))のであれば、
あまり気にする必要はありません。

  (*) この場合には、親の方で dup() した直後に write の方のハンドルは close しているはずですよね?

Qzlib.libとlibpng.libについて

zlib.libとlibpng.libの作成ができなくて困っております。
libpng.libでpngAPIを使うには、zlib.libが必要だということで
zlib.libのビルドにも挑戦していますがうまくいきません。
これらのファイルを作るのが目的ではないので
どなたか配布できるならば配布していただけないでしょうか?。
もし配布できないなら作り方の詳細をご教授願います。

環境
Windows VISTA SP1
Visual Studio 2008

googleで検索して出てきたHPについては
ほとんど見ましたが
それをみてやっても上記環境ではうまくビルドができません。
*例えば以下 他にもたくさんみてその通りにやりましたが
エラーが大量にでてしまいうまくいきません。
http://dencha.ojaru.jp/programs_07/pg_graphic_10a1.html

大変 レベルの低い質問ですがよろしくおねがいいたします。
m(___)m

Aベストアンサー

有名なGNUプログラムなら、GnuWin32を探せばバイナリが見つかるでしょう。
http://gnuwin32.sourceforge.net/

http://gnuwin32.sourceforge.net/packages/zlib.htm
http://gnuwin32.sourceforge.net/packages/libpng.htm


人気Q&Aランキング

おすすめ情報