Centos のダイナミック リンク ライブラリの共同コンパイル技術の詳細な分析

WBOY
リリース: 2024-01-10 13:26:39
転載
1262 人が閲覧しました

ダイナミック リンク ライブラリとは

Windows ではダイナミック リンク ライブラリ (DLL)、サフィックスですか? xxx.dll

UNIX または Linux では、これは共有ライブラリであり、サフィックスは xxx.so

です。

ファイルを .so 形式のダイナミック リンク ライブラリにコンパイルします

gcc -o libme.so wso.c -shared

wso.c を libme.so にコンパイルします。ライブラリ名は me です。

lib はプレフィックスとサフィックスです

共同コンピレーション

gcc -L /root/myc/ -l me ws.c -o newws

-L ダイナミックリンクライブラリのフォルダの場所

-l ダイナミック リンク ライブラリのライブラリ名 (最初のライブラリを削除し、.so はライブラリ名です)

次に、コンパイルは成功しましたが、操作はまだ失敗していることがわかります

失敗の理由は、オペレーティング システムがそれを見つけられないことです

実際、Linux には Windows と同様に、system32 のようなシステム ライブラリ フォルダーがあります。さまざまなパブリック クラス ライブラリがここに配置されます

CentOS には、Windows によく似たパブリック ライブラリを保存する 2 つのフォルダーがあります

/lib カーネル レベル

/usr/lib ユーザーシステムレベル

/usr/lib64/ 64 ビット システムでのみ利用可能

良いライブラリを作らなければなりません、適当に置いても構いません

######解決### ###

作成したSOファイルを公開ライブラリにコピー(cpコマンド) 次に ldconfig を実行します (動的ライブラリがキャッシュされます。新しいものが追加された場合は、再度キャッシュを更新する必要があります)

newws が正常に実行されました

以上がCentos のダイナミック リンク ライブラリの共同コンパイル技術の詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート