投稿

4月, 2019の投稿を表示しています

CentOS 7にGuest Additionsをインストールし、VirtualBoxの共有フォルダーを設定した

イメージ
Follow @venividivici830 VirtualBoxで、ゲストOSのCentOS 7と、ホストOSのMac間で、共有フォルダーを設定した。 VirtualBoxのバージョンは、Version 5.2.20 r125813 (Qt5.6.3)。 CentOS 7のバージョンは、CentOS Linux release 7.6.1810 (Core)で、Minimal ISOからインストールしたもの。 Guest Additionsのインストール 共有フォルダーの設定には、Guest Additionsのインストールが必要 なので、 Install VirtualBox Guest Additions in CentOS, RHEL & Fedora を参考に、Guest Additionsをインストールした。 最初に、Guest Additionsのインストールに必要なパッケージの取得や、環境変数の設定を実施。 # EPELリポジトリーを追加 yum -y install epel-release # yumパッケージを最新にする yum -y update # いったん再起動 reboot # Guest Additionsのインストールに必要なパッケージをインストール yum -y install make gcc kernel-headers kernel-devel perl dkms bzip2 # KERN_DIR環境変数の設定、export export KERN_DIR=/usr/src/kernels/$(uname -r) 次に、VBoxGuestAdditions.isoをmountした。 Guest Additionsは、このISOからインストールする。 Virtualboxのメニューバーの下記のボタンから、仮想的なCDを挿入。 Devices > Insert Guest Additions CD image... 設定が変更された〜旨のダイヤログが表示されたので、「設定を再読み込み」を選択した。 下記のコマンドで仮想的なCDをmountし、Guest Additionsをインストールした。 # Guest Additions CD imageの

Cにおける文字列の配列 - charの二次元配列と、charのポインターのポインターの違い -

Follow @venividivici830 charの二次元配列と、charのポインターのポインターは、どちらも文字列の配列として利用できる。 しかし、両者は同じではない。 違いがわからなかったため、以下に整理した。 charの配列と、charのポインター 先に、より簡単な、charの配列と、charのポインターについて整理した。 charの配列も、charのポインターも、文字列として扱える。 #include <stdio.h> int main() { // charの配列 char name_a[] = "john lennon"; printf("%s\n", name_a); // charのポインター char *name_p = "paul mccartney"; printf("%s\n", name_p); return 0; } 実行結果 john lennon paul mccartney (下記コードのname_p = name_aのように)配列をindex指定なしで使うと、配列の先頭要素のアドレスとして扱われる。  このため、アドレスを格納するための型であるcharのポインターに代入できる。 しかし、配列の先頭要素のアドレスは変更できない仕様のため、charのポインターを配列に(先頭要素のアドレスとして)代入することはできない。 #include <stdio.h> int main() { char name_a[] = "john lennon"; char *name_p = "paul mccartney"; /* * index指定なしだと、配列は、配列の先頭要素のアドレスとして扱われる * よって、下記の2つは同じ値を出力する */ printf("%p\n", &name_a[0]); /* &は、変数のアドレスを取得する演算子 */ printf("%p\n", name_a); /* * 配列の先頭要素の「アドレス」なので、c