タグ付けされた質問 「c」

Cは、オペレーティングシステム、ゲーム、その他の高性能作業に使用される汎用のコンピュータープログラミング言語であり、C ++とは明らかに異なります。1972年に、Unixオペレーティングシステムで使用するためにDennis Ritchieによって開発されました。

2
NULLポインターが表示されるカーネルモジュールをデバッグするにはどうすればよいですか?
このパッチからコンパイルしたカスタムカーネルモジュールがlogitech G19あり、他のGシリーズデバイスの中でキーボードのサポートが追加されています。私はUbuntuのマーベリックカーネルのマスターブランチ(2.6.35)に対して問題なくコンパイルしました。 モジュールを起動してロードできますが、本当に奇妙な状況に陥っています。モジュールを(ブート時またはmodprobe経由で)ロードするとすぐに、黒い画面が表示され、コンソールがロックします。 奇妙なのは、それが私のシステムをロックしないということです。それは現在のコンソールセッションにすぎません。私は自分のボックスにSSHで接続でき、端末とセッションを提供します。そして、タイプすることができ、コマンドを実行することもでき、それによって出力が得られます。次に、次のプロンプトが表示され、すぐにロックされます。 私はで見るdmesgヌルポインタがあること、そして私は、次のスタックトレースを取得します: [ 956.215836] input: Logitech G19 Gaming Keyboard as /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.1/1-2.1.2/1-2.1.2:1.1/input/input5 [ 956.216023] hid-g19 0003:046D:C229.0004: input,hiddev97,hidraw3: USB HID v1.11 Keypad [Logitech G19 Gaming Keyboard] on usb-0000:00:1d.7-2.1.2/input1 [ 956.216065] input: Logitech G19 as /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.1/1-2.1.2/1-2.1.2:1.1/input/input6 [ 956.216128] Registered led device: g19_97:orange:m1 [ 956.216146] Registered led device: g19_97:orange:m2 [ 956.216178] …

4
chdir(<directory>)はシェルを終了した後にディレクトリを変更しません
Cプロジェクトディレクトリに変更する簡単なプログラムを作成したいと思いました。その内容は次のとおりです。 #include &lt;unistd.h&gt; int main() { chdir("/home/enedil/projects/algo"); return 0; } 私はそれを次のコマンドでコンパイルしました(pro.cはそのファイル名です): gcc pro.c -o /usr/local/bin/pro エラーも警告もありませんでした。しかし、それを実行しても、ディレクトリは変更されません。どうして?
8 process  c  cd-command 

3
「デフォルト」以外のsnd_pcm_openで指定する必要があるデバイス名
2台のデバイスから同時に音声を録音したい: 内蔵マイク 外部USBウェブカメラマイク pulseaudioサウンドコントローラーを使用して、これらのデバイスのいずれかをデフォルトとして設定し、でサウンドを録音できましたsnd_pcm_open(&amp;handle, "default", SND_PCM_STREAM_CAPTURE, 0)。 しかし、今は両方のデバイスから同時にサウンドを録音したいので、ここで説明されている命名方式を選択する必要があります。しかし、私はそれらのいくつかで成功していません。 これで問題は解決すると思いましたがfront:CARD=U0x46d0x825,DEV=0、デバイスの名前としては役に立ちませんでした。 私はこれらのエラーを受け取ります: ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM ALSA lib pcm_hw.c:1667:(_snd_pcm_hw_open) Invalid value for card arecord -l 私に与える: # arecord -l **** List of CAPTURE Hardware Devices **** Home directory not accessible: Permission denied card 0: PCH [HDA …
8 c  alsa 

1
開始アドレスに対する静的リンクと動的リンクの影響
簡単なCプログラムがあります。走る: $ gcc Q1.c -Wall -save-temps -o Q1 次に、生成された実行可能ファイルを検査します。 $ objdump -f Q1 Q1: file format elf32-i386 architecture: i386, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x080483b0 次に、静的リンクを使用してコンパイルします。 $ gcc Q1.c -Wall -save-temps -static -o Q1 そしてファイルをもう一度調べます: $ objdump -f Q1 Q1: file format elf32-i386 architecture: i386, flags 0x00000112: EXEC_P, …

1
free()はプロセスのメモリのマッピングを解除しますか?
Linux 2.6.16カーネルでCプログラムを実行しています。プログラムにメモリリークはないと思いますが、プログラムのメモリ消費量は、特定の操作後も安定しており、減少しません。'ps v'コマンドを使用して、プログラムのRSS値を監視しています。 valgrind Massifツールは、私のプロセスでヒープの大部分がmmapによって割り当てられていることを示しています。しかし、コードによると、これらの割り当ては、操作の完了後に解放されているはずです。それは解放されたメモリがまだマップされているか、プロセスのRSS値に貢献しているためでしょうか? どんな洞察も非常に高く評価されます! 以下は、valgrind Massifレポートの抜粋です。プログラムで使用されるすべてのメモリを測定するために、massifツールの--pages-as-heapオプションをオンにしたことに注意してください。 -------------------------------------------------------------------------------- n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B) -------------------------------------------------------------------------------- 85 701,483,989,262 173,576,192 173,576,192 0 0 86 704,352,949,469 173,367,296 173,367,296 0 0 87 707,582,275,643 173,367,296 173,367,296 0 0 88 710,536,145,814 173,367,296 173,367,296 0 0 100.00% (173,367,296B) (page allocation syscalls) mmap/mremap/brk, --alloc-fns, etc. -&gt;53.40% (92,581,888B) …
8 linux  memory  c 

1
syscall-template.Sとは何ですか?
syscall-template.Sより具体的にはファイルの場所を見つけました .../sysdeps/unix/syscall-template.S このファイルは何ですか? それはどこにある。それは私のシステムではないと私は思い含むソースパッケージでそれを見つけることができないlinux-imageとglibc。
8 kernel  c  glibc 

2
静的Cコンパイラを入手するにはどうすればよいですか?
私はchroot環境で遊んでいますが、あまり多くのライブラリを移動する必要なく、各環境でいくつかの基本的なビルドツールを簡単にセットアップできるように、移植可能なCコンパイラが欲しいです。 GCCは私がやりたいことに対してかなり膨らんでいるように見えますが、静的なgccを構築するのがかなり簡単であれば、数十メガバイトを気にしないでしょう。 私はまた、Tiny C Compilerを見ています。これは小さいですが、それでも印象的な機能セットがあるように見えます。ただし、ソースディレクトリで./configure --helpを実行しても、tccを静的にビルドするためのオプションは表示されず、それ以外の場合にどのように実行されるかわかりません。

2
CプログラムからCPU使用率の統計を取得する
CプログラムからCPU使用率の統計を読みたいのですが、CPUの使用率やスチール時間などに興味があります。これらの統計は、topコマンドの3行目に表示されています。 ()を使用してtopの出力を解析しようとしましたが、正しい統計を表示し始める前に、常に同じ「架空の」値を提供しているようですawktop -n 1 -b | awk '{print $0}'top コードから、またはいくつかのコマンドの出力を解析してCPU使用率の統計を取得する方法はありますか? 編集: プラットフォームはLinuxです ありがとうございました。
8 monitoring  cpu  c  top 

2
Linuxの「sys / ioctl.h」ヘッダー
私はついています Linux 2.6.32-26-generic 「ioctl.h」ヒアラーファイルのLinuxソースコードを見ると、多くの亜種が見つかりました。(異なるプラットフォームでは、私は推測します)。すなわち ./fs/ocfs2/ioctl.h ./fs/btrfs/ioctl.h ./fs/ceph/ioctl.h ./include/config/i2o/config/old/ioctl.h ./include/asm-generic/ioctl.h ./include/linux/hdlc/ioctl.h ./include/linux/ioctl.h ./drivers/video/via/ioctl.h ./drivers/staging/vt6655/ioctl.h ./drivers/staging/vt6656/ioctl.h ./arch/ia64/include/asm/ioctl.h ./arch/h8300/include/asm/ioctl.h ./arch/microblaze/include/asm/ioctl.h ./arch/score/include/asm/ioctl.h ./arch/avr32/include/asm/ioctl.h ./arch/alpha/include/asm/ioctl.h ./arch/x86/include/asm/ioctl.h ./arch/m32r/include/asm/ioctl.h ./arch/mn10300/include/asm/ioctl.h ./arch/sparc/include/asm/ioctl.h ./arch/powerpc/include/asm/ioctl.h ./arch/m68k/include/asm/ioctl.h ./arch/sh/include/asm/ioctl.h ./arch/xtensa/include/asm/ioctl.h ./arch/mips/include/asm/ioctl.h ./arch/s390/include/asm/ioctl.h ./arch/arm/include/asm/ioctl.h ./arch/blackfin/include/asm/ioctl.h ./arch/frv/include/asm/ioctl.h ./arch/parisc/include/asm/ioctl.h ./arch/cris/include/asm/ioctl.h しかし、私はそのファイルが含まれているのを見る #include &lt;sys/ioctl.h&gt; このマッピングはどのように機能しますか?
8 linux  c  header-file 

3
クリーンを実行せずに(Debian)Apacheをデビルドする方法
DebianでApacheモジュールを編集しようとしています(厳密には、Raspbian Jessie-Liteでこれを行っています)。Debianのビルド手順に広く従っています: $ mkdir -p ~/src/debian; cd ~/src/debian $ apt-get source apache2-bin $ cd apache2-2.4.10 $ debuild -b -uc -us そして、ビルドプロセスは、古いオリジナルのPiで約1時間半かかります。大丈夫です。一度!しかし、ビルドプロセスはa make cleanを実行しているため、1つのmod _ *。cファイルを少し編集した後、全体を再構築したいので、開発が少し遅くなります。 コマンドに追加しようとし-dcましたdebuildが、何も作成されませんでした。ターゲットのmod _ *。soファイルを削除して、再構築するよう「奨励」しましたが、それでもできませんでした。 更新2016-08-21:debuildコマンドに-ncを追加しても、モジュールは再コンパイルされません。そのコマンドからの出力は次のとおりです。 $ debuild -b -uc -us -nc dpkg-buildpackage -rfakeroot -D -us -uc -b -nc dpkg-buildpackage: source package apache2 dpkg-buildpackage: source version 2.4.10-10+deb8u5 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.