글

[C언어]2차원 배열을 함수 인자로 전달하기

2차원 배열을 함수로전달하는 방법을 인터넷에서 찾아보니 가장 일반적인 방법은 다음과 같았다. void func( int variable[][10] ) { } int main() {   int va[10][10];   func(va); } 하지만 이와 같은 방법은 호출할 함수에서 배열의 크기를 미리 알아야 한다는 문제가 있기 때문에 " int va[a][b] "와 같이 배열의 크기가 가변적인 상황에서는 이용하기 힘들다. 그래서 생각한 방법이 "배열의 크기가 가변적이라면 크기도 같이 보내주자"였다. 결과적으로 다음과 같은 코드가 작성됬다. void func( int b , int variable[][ b ] ) { } int main() {   int va[10][10];   func( 10 , va); } 위와 같이 코드를 작성하니 에러가 발생하지 않았으며, warning 조차도 보이지 않았으며, 배열에의 접근도 정상적으로 가능하였다.

리눅스(우분투, 페도라) 64비트에 플래쉬 설치하기

요즘 배포되고 있는 32비트 리눅스의 경우 미리 컴파일된 플래쉬 설치파일이 존재하기 때문에 비교적 쉽게 설치 가능하다. 하지만 64비트의 경우 별도로 설치를 해줘야하는 경우가 있는데, 이게 기대하는 것 처럼 쉽게 되지를 않는다. 이에 본 블로깅을 통해 간단하게 설치하는 방법을 설명하고자 한다. 우선 플래쉬 사이트에서 설치파일을 다운로드 받는다. 물론 64비트 리눅스용을 다운로드 받아야 하며, 배포판을 구분할 필요가 없다. 아래 링크를 통해 어도브에서 제공하는 플래쉬 플러그인을 다운로드받는다. http://labs.adobe.com/downloads/flashplayer11.html 우리는 64비트 리눅스에 설치하는것이 목적이므로 아래의 파일을 다운로드 받는다. Download plug-in for Linux 64-bit   위의 파일을 다운로드 후 앞축을 해제하게 되면 "libflashplayer.so" 파일과 하나의 폴더가 나타나게 된다. 우리는 이 가운데 "libflashplayer.so"파일을 이용할 것이다. 생소한 파일이라고 걱정할 필요 없다. 간단한 복사명령어 한번이면 설치가 완료된다. 압축 해제한 "libflashplayer.so"을 이용하기 위해서는 특정 위치에 해당 파일을 복사할 필요가 있다. 만일 동일한 파일이 이미 존재할 경우 해당파일을 지우거나 이름을 바꾸도록 하자. 복사를 하기에 앞서 복사될 위치는 시스템과 관련되어 있으므로 일반 유저 권한으로는 변경이 불가능하다. 그러므로 root 권한을 획득하자. root 권한은 su 또는 sudo 명령어를 통해 획득하자. 루트 권한을 획득하였으면 아래의 명령어로 복사를 실행하자. # cp (파일경로)/libflashplayer.so /usr/lib/mozilla/plugins/ 자 모든 설치가 끝났다. 이제 브라우저를 다시 실행시키고, 유투브에라도 들어가보자.

리눅스(fedora, ubuntu etc) 설치 후 무선랜 드라이버 설치 방법

필자가 사용하는 노트북에는 Broadcom에서 제작한 무선랜을 장착하고 있다. 윈도우를 사용할 때는 관련 드라이버를 그냥 설치만 하면 되기에 아무런 문제가 없지만 리눅스 상에서 드라이버를 설치하기란 여간 골치아픈것이 아니다. 결국 필자의 Dell 노트북에 페도라(fedora) 15버전을 설치하였을때도 무선랜(BCM43224)이 말썽을 부렸다. 문제를 해결하고자 각종 방법을 찾아보았으나 깔끔한 해결책을 보지못하였고 결국은 Broadcom 사의 사이트에 들어가서 찾아보게 되었다. 역시나 제작사에서 리눅스 관련 드라이버를 제공해주고 있었다. 그리 친절하지는 못하지만 매뉴얼(Readme)와 함께. 제작사에서 말하는 드라이버 설치방법에는 크게 두가지가 있다. 하나는 직접 컴파일 후 설치하는 방법과 미리 컴파일되어 저장소에서 내려받는방법. 초보자에게는 보다 편리한 방법이 최선이기에 저장소 이용방법을 선택해서 설명하겠다. 본 과정은 페도라를 기준으로 한다. 우분투는 좀 더 수월하게 설치 가능하다.(매뉴얼 참조) 매뉴얼에서 말하는 과정은 다음과 같다. 1. 관리자 원한 획득   $ su 2. 패키지 설치   #  rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm 3. 저장소 정보 업데이트 # yum update 4. 드라이버 설치 # yum install kmod-wl 필자가 해본 바로는 2번 과정에서 패키지를 찾을 수 없다는 문제가 발생하였다. 아무래도 링크 주소로 바로 설치가 가능할정도로 rpm 프로그램이 똑똑하지 못할것이다라는 생각과 함께 패키지를 직접 다운로드 후 설치해주기로 했다. 결국 필자가 행한 과정은 다음과 같다. 1. ...

vi 자동완성 기능

이클립스가 사랑받는 이유가운데 자동완성 기능이 포함될 것이다. 이는 실로 막강하며, 편리한 기능으로 한번 맛들이면 빠져나오기 힘들다. 이클립스 정도는 아니지만 리눅스의 vi 에디터에서도 자동완성 기능을 제공한다. ctrl + p vi 에디터에서 자동완성을 사용하기 위해서는 힌트로 사용될 키워드의 일부분을 입력후 ctrl + p 키를 누르면 된다. 단, 검색의 기준이 되는 헤더파일이 인클루드 되어 있어야하며, vi의 버전이 비교적 최신의 것이어야 한다. (요근래 나오는 vi를 이용하면 다 될것이다.)

vmware의 한영키 문제 해결을 위한 설정

<테스트 환경> 호스트 : 우분투 11.04 게스트 : 윈도우7 64비트  (VMware Player 3.1.4 이용) <문제> vmware에 설치한 윈도우에서 한영키를 인식하지 못하여 한글의 입력이 어려움 <문제 해결 방법> vmware가 설치된 우분투에서 /etc/vmware/config 파일에 아래의 내용 추가 수정.   xKeymap.Keysym.Hangul = "0x0f2" xkeymap.keysym.Hangul_Hanja = "0x0f1" <문제 해결 과정> 1. 실행중인 vmware 종료 2. 터미널 실행 3. root 권한 획득 (우분투 : sudo -s 페도라 : su root) 4. gedit /etc/vmware/config 5. 맨 아래에 입력 xKeymap.Keysym.Hangul = "0x0f2" xkeymap.keysym.Hangul_Hanja = "0x0f1"

부팅 USB 만들기

부팅 USB를 만드는 가장 큰 이유는 바로 운영체제를 설치하기 위함이다. 운영체제는 크게 윈도우와 리눅스로 구분할 수 있는데, 이들을 위한 부팅 USB를 만드는 과정도 다르다. 윈도우를 위한 부팅 USB 만들기  - 커맨드 실행 (윈7의 경우 관리자 권한을 이용하여 실행)  - diskpart 명령어를 이용해 diskpart 실행  - list disk 명령어를 이용해 목록 확인  - select disk [number] 명령어를 이용해 디스크 선택  - clean  - create partition primary  - list partition  - select partition 1  - active  - format fs=ntfs quick  - 윈도우7 iso 의 파일 내용을 USB에 복사 리눅스를 위한 부팅 USB 만들기  - universal USB 다운로드  - run  - agree  - 배포판 버전 선택  - iso의 경로 지정  - 드라이브 선택  - create

우분투에 파이어폭스4 설치하기

설치환경: Linux Mint10 Julia (Ubuntu10.10 based) 설치방법: ppa를 이용한 온라인 설치 설치과정   (1) ppa 추가       - 관리 -> 소프트웨어소스 -> 기타소프트웨어 -> "추가" 버튼 클릭       - 저장소 추가   ppa:mozillateam/firefox-stable       - 닫기   (2) 소프트웨어 목록 update   (3) 업데이트 매니저 실행 & 파이어폭스 업데이트 ================================================================ 업데이트 결과 별다른 이상은 없어 보입니다. 파이어폭스4는 구글 크롬과 같은 제목표시줄+탭 UI를 가집니다. 하지만 gnome2.X 버전의 경우 기존과 비슷한 UI를 보여줍니다. gnome3버전에서는 제목표시줄과 탭이 한 라인에 배치되 공간활용에 좋은데 말이죠.