ホームページ > 記事 > システムチュートリアル > Centos のダイナミック リンク ライブラリの共同コンパイル技術の詳細な分析
ダイナミック リンク ライブラリとは
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 サイトの他の関連記事を参照してください。