2011-03-12 18 views
2

cで書かれたウィンドウのシステムコールとは何ですか? Googleでの説明が見つかりません。cで書かれたウィンドウのシステムコールとは何ですか?

これは私たちが行うことです: あなたの割り当ては、パラメータとしてファイル名と整数Nを受け取るHeadTailという名前のWindowsユーティリティを実装し、コンソール(標準出力)に出力します。ファイルの後ろにN個の最後の行が反転します。

+0

これは宿題に関する質問ですか?その場合は宿題タグを追加してください。 –

+0

システムコールを使って何かを書くように求められましたが、私は何か分かりません。 – Vadiklk

+0

あなたが書いてくれたことを投稿して、人々がそれが何であるか、まさにあなたがしたいことをよりよく理解できるようにしたいかもしれません。 – jonmorgan

答えて

5

http://en.wikipedia.org/wiki/System_call

は、コンピューティングでは、システムコールは、プログラムが正常に実行するための権限を持っていないオペレーティングシステムのカーネルからサービスを要求する方法です。システムコールは、プロセスとオペレーティングシステム間のインターフェイスを提供します。システムと対話するほとんどのオペレーションは、ユーザレベルのプロセスでは利用できないパーミッションを必要とする。システム上に存在するデバイスで実行される入出力、または他のプロセスとの任意の形式の通信は、システムコールの使用を必要とします。

たとえば、fopenはシステムコールではなく、ReadFileです。

以上の情報System call vs Function call

+0

あなたはcでそれを使う方法についてもっと説明できますか? – Vadiklk

+0

@Vadiklk: 'ntdll.dll'からいくつかの関数をインポートして呼び出します。 –

+0

例を挙げてもらえますか? – Vadiklk

4

kernel32.dllのとのAdvapi32.dllからエクスポートコアのWindowsのAPIのすべてでは、一般的に考えられているシステムコール(他の人があると低レベルのAPIがありますが、これはおそらくあなたの要件を満たしています(低レベルのAPIは文書化されておらず、使用するのがはるかに難しい))。

Cアプリケーションでそれらを使用するには、Visual StudioまたはWindows SDKのビルド環境を使用している場合、あなたは単に追加する必要があります。

#include <windows.h> 

をソースファイルに。その後、Cプログラムから任意のAPI呼び出しを行うことができます。

アプリケーションをリンクするときにkernel32.libを追加する必要があります。

+0

+1私はそれが好きです。 * kernel32.dllとadvapi32.dllは通常、システムコールと見なされます。*非常に簡単です。 – Benjamin

関連する問題