Linux学習ツールCygwin

  

cygwinは、windowsプラットフォーム上で動作するUnixシミュレーション環境で、cygnus solutions companyによって開発されたフリーソフトウェアです(同社は多くの優れたもの、有名なeCosを開発しましたが、現在はRedhatです)取得)。 unix /linuxオペレーティング環境の学習、UnixからWindowsへのアプリケーションの移植、あるいは特別な開発作業、特にWindows上の組み込みシステム開発用のgnuツールセットの使用に非常に役立ちます。中国での組み込みシステム開発の人気の高まりとともに、ますます多くの開発者がcygwinに興味を持っています。この記事はそれを紹介します。

1メカニズムcygnusは最初にgcc、gdb、gasなどの開発ツールを改良しました。その結果、それらはwin32のターゲットファイルを生成して説明することができます。それから、彼らはこれらのツールをwindowsプラットフォームに移植しなければなりません。 1つの解決策は、win32 APIに基づいてこれらのツールのソースコードを大幅に変更することです。これには明らかに多くの作業が必要です。 —だから、彼らは別のアプローチ&mdashを取った彼らは(つまり、cygwinのdllファイルである)共有ライブラリを書いて、UNIXスタイルの呼び出し(などなどfork、spawn、シグナル、select、ソケットなど、)ではないWin32 APIのパッケージつまり、彼らはwin32 apiをベースにしたUnixシステムライブラリのシミュレーションレイヤを書いたのです。したがって、これらのツールのソースコードをこの共有ライブラリにリンクすることで、UNIXホスト上のクロスコンパイラを使用して、Windowsプラットフォーム上で実行できる一連のツールを生成できます。 Windowsプラットフォームに移植されたこれらの開発ツールに基づいて、cygnusは徐々にソフトウェアを移植するために他のツール(ソースコードを修正する必要がほとんどなく、それらの設定スクリプトを修正するだけでよい)を移行しました。このように、Windowsプラットフォーム上でbashや開発ツール、ユーザーツールを実行することは、Unix上で作業するように感じます。良いLinux学習ツールです。 ! cygwinの実装の詳細については、http://cygwin.com/cygwin-ug-net/highlights.htmlを参照してください。

2.インストールと設定cygwin 2.1インストールcygwinのオンライン版をインストールするには、次の方法があります。 http://cygwin.comの[今すぐCygwinをインストールする]をクリックします。これは最初にsetup.exeと呼ばれるGUIインストーラーをダウンロードします。これは完全なcygwinをダウンロードするために使用することができます。簡単にインストールするには、各画面の指示に従ってください。 2.2環境変数bashを起動する前に、いくつかの環境変数を設定する必要があります。 Cygwinは最も重要な環境変数を設定した.batファイルを提供しています。それを使ってbashを起動するのが最も安全な方法です。この.batファイルはcygwinがあるルートディレクトリにインストールされています。このファイルを編集してください。 CYGWIN変数はcygwinランタイムシステムに複数のグローバル設定をするために使用されます。最初に、bashを実行する前に、CYGWINを設定するか、dosボックスの下でttyに設定することができますSet C:\\> set CYGWIN = tty notitle glob
PATH変数はcygwinアプリケーションによって使用されます。経験豊富なファイルへのパスのリストを検索します。 cygwinプロセスが開始されると、変数はwindowsフォーマット(例:C:\\ WinNT \\ system32; C:\\ WinNT)からunixフォーマット(例:/WinNT /system32:/WinNT)に変換されます。 bashを実行せずにcygwinツールセットを使用できるようにするには、PATHに少なくともx:\\ cygwin \\ binが含まれている必要があります。ここで、x:\\ cygwinはシステム上のcygwinディレクトリです。 HOME変数はホームディレクトリを指定するために使用されますbashを実行する前にこの変数を定義することが推奨されます。 cygwinプロセスが開始されると、変数もwindows形式からunix形式に変換されますたとえば、作成者のマシン上のHOMEの値はC:\\(この値を確認するにはset HOMEコマンド、set HOME = XXXを実行できます)。 set)、bashでecho $ HOMEを使う、値は/cygdrive /c。TERM変数は端末タイプを指定します。米国によって設定されている場合は、自動的にcygwinに設定されます。 LD_LIBRARY_PATHはcygwinの関数dlopen()によって.dllファイルを検索するためのパスのリストとして使用され、この変数もwindows形式からunix形式に変換されます。ほとんどのCygwinアプリケーションはdlopenを使用しないので、この変数は必要ありません。 2.3 cygwinの最大記憶容量の変更Cygwinプログラムによって割り当てられるデフォルトメモリは384 MB(プログラム+データ)以下です。ほとんどの場合、この制限を変更する必要はありません。ただし、より多くの実メモリまたは仮想メモリが必要な場合は、レジストリのHKEY_LOCAL_MACHINEまたはHKEY_CURRENT_USERセクションを変更する必要があります。 Tian JiaにはDWORDキーheap_chunk_in_mbがあり、その値を必要なメモリ制限(10進数メガバイト)に設定します。これはcygwinのregtoolでも実行できます。例としては、次のとおりです:.指定すればはcygwinのとCygwinについて話をする設定/HKLM /ソフトウェア/シグナス\\ソリューション/Cygwinの/heap_chunk_in_mb 1024指定すれば-vリスト/HKLM /ソフトウェア/シグナス\\ソリューション/Cygwinの

3このセクションを使用し-i従来のUnixシステムとの違い3.1パス名のマッピング3.1.1はじめにcygwinはwin32とposixスタイルのパスの両方をサポートしていますパス区切り文字はスラッシュかバックスラッシュのどちらかです。 UNCパス名もサポートされています。 (ネットワークでは、UNCはファイルの場所を特定する方法です。この方法では、ユーザーは記憶装置の物理的な場所を気にすることができず、ユーザーにとって便利です。 Windows
OS
Novell Netwareや他のオペレーティングシステムでは、この指定はローカルの命名システムに代わるものとして使用されてきました。UNCでは、ファイルがどのディスク(またはボリューム)上にあるのかは気にしません。次の形式でファイルにアクセスすることができます:\\\\ servername \\ sharename \\ path \\ filename sharenameはファイルが配置されているボリュームまたはストレージデバイスの論理IDと呼ばれることもありますが、その目的は、ユーザーがこれらのボリュームまたはストレージデバイスの物理的な場所を気にしなくて済むようにすることです。posix規格に準拠したオペレーティングシステム(Linuxなど)には、ドライブ文字の概念がありません。絶対パスはすべてドライブ文字ではなくスラッシュで始まります(c :)。すべてのファイルシステムはそれらのサブディレクトリです。たとえば、一方がルートでもう一方が/disk2パスにある2台のハードディスクがあります。 Unixシステム上の多くのプログラムは単一のposixファイルシステム構造を想定しているので、cygwinは特にwin32ファイルシステムの内部posixビューを維持し、これらのプログラムがWindowsの下で正しく動作することを可能にします。場合によっては、cygwinはこのマッピングを使ってwin32とposixのパスを変換します。 3.1.2 cygwinマウントテーブルcygwinのマウントプログラムは、win32ドライブ名とネットワーク共有パスをcygwinの内部posixディレクトリツリーにマッピングするために使用されます。これは典型的なunixマウントプログラムと似た概念です。 Unixに慣れておらず、Windowsの経験がある人にとって、マウントプログラムは、他のパスのサブディレクトリとしてドライブ名を使用する、以前のdosコマンドjoinと非常によく似ています。パスマッピング情報は、Windowsレジストリ内にある現在のユーザーのcygwinマウントテーブルに格納されています。このようにして、ユーザーが次回ログインしたときに、情報がレジストリから取得されます。マウントテーブルには2種類あり、それぞれのユーザー固有のテーブルに加えて、システム全体のマウントテーブルがあり、それぞれのcygwinユーザーのインストールテーブルはシステムテーブルから継承します。システムテーブルは、適切な権限を持つユーザー(Windows NT管理者)のみが変更できます。現在のユーザーのマウントテーブルは、レジストリ「HKEY_CURRENT_USER /Software /Red Hat、Inc. /Cygwin /mount v」に表示されます。システムテーブルはHKEY_LOCAL_MACHINEの下にあります。 posix root path /defaultはシステムパーティションを指しますが、mountコマンドを使用してWindowsファイルシステム内の任意のパスにリダイレクトできます。 cygwinがwin32パスからposixパスを生成するとき、それは常にマウントテーブル内の最も長いプレフィックスを使用します。たとえば、c:が/cと/にインストールされている場合、cygwinはC:/foo /barを/c /foo /barに変換し、mountコマンドが引数なしで呼び出されると、現在のCygwinインストールポイントの一覧が表示されます。アウト以下の例では、cドライブはPOSIXルートで、dドライブは/dにマップされています。この場合、ルートはすべてのユーザーに表示されるシステム全体のインストールポイントであり、/dは現在のユーザーにのみ表示されます。 C:; \\ cygwinの\\ libには/usr /libのタイプのシステム上で(のbinmode)F:/型システムの\\ cygwinの(binmodeを)E:は/usr /ビン型システム(binmodeを)Fの\\ Cygwinの\\ビン\\> Fマウント:\\ SRCは/usr /src型システム(binmodeを)C上:/cygdriveの/Cタイプのユーザー(binmodeを、noumount)上のE:/cygdriveの/Eタイプのユーザー(binmodeを、noumount)も新規インストールを追加するには、mountコマンドを使用することができます上のポイント、マウントポイントを削除するには、umountを使用します。 Cygwinが既存のインストールポイントに基づいてwin32パスをposixパスに変換できない場合、cygwinはデフォルトのposixパス/cygdriveの下のマウントポイントに自動的に変換します。そして、Zディスクが現在インストールテーブルにない場合、Z:\\は自動的に/cygdrive /Zに変換され、各インストールポイントには特別なプロパティが与えられます。自動的にインストールされたパーティションは、「自動インストール」と表示されます。マウントポイントは、「textmode」または「binmode」として選択することもできます。これは、テキストファイルとバイナリファイルが同じ方法で処理されるかどうかを決定します。 3.1.3その他のパス関連情報cygpathツールはシェルスクリプトでwin32-posixのパスフォーマットを変換する機能を提供します。プロセスの起動時にHOME、PATH、およびLD_LIBRARY_PATH環境変数が自動的にタイトルへのWin32 POSIXパスからパスがある場合(例えば、それはCをcygwinのだろうWin32のフォーマットPOSIX形式から変換されています:\\ cygwinの\\ binに/へBin)
zh-CN"],null,[1],zh-TW"]]]

Copyright © Windowsの知識 All Rights Reserved