프로그래밍 QnA + 설치 및 활용 QnA + 질문

shi1521의 이미지

정규표현식을 통해 파일의 이름 검색

[개발 환경]
- 우분투 13.10
- C언어

[자료구조]
struct finfo
{
char filename[4096];
+
파일의 정보들...
};

- 자료는 디렉터리의 경로를 주면 그 하위까지 자료들이 저장

- 정규 표현식을 통해 저장된 자료들의 파일 이름을 비교해서 일치할 경우 파일 이름과 정보들을 출력
이러한 프로그램입니다.

프로그램 구현은

1. 자료들을 단일 연결 리스트로 저장
2. 정규 표현식을 regcomp라는 함수로 컴파일
3. regexec로 컴파일된 정규식과 파일의 이름을 비교
4. 일치할 경우 파일의 이름과 정보를 출력
5. 3, 4번을 연결 리스트의 끝까지 반복

이러한 구조로 구현하였는데 이럴 경우 자료들의 개수가 증가할수록 비교 횟수도 증가하여서 검색 성능이 떨어지는 거 같습니다.

gurumong의 이미지

[C언어] 일반적인 자료형에 대한 자료구조를 만들수가 없을까요?

자료구조나 알고리즘 책을 몇권 보았습니다만
대부분 오래된 변형 알골 언어 등으로 핵심코드만을 보여주고 해설하는 식이더라구요

실제로 C언어에서는 구현하여 사용하기에는 많은 부분은 좀 더 고려해봐야 할거같은데(예: 재사용 가능한 모듈화)
특히나 일반적인 자료형에 대한 자료구조를 만들수가 없는것인지 의문이 있습니다

C++에서는 템플릿이 있어서 유용한것으로 알고있는데
그냥 C언어에서는 어떻게 할 수 있을까요?

그리고 이러한 C언어로서 실용적인 자료구조 구현에 대해 다룬 책이 없을까요?

parkcy0113의 이미지

새로운 커널을 추가했는데 문제가 발생하였습니다.

우분투 12.04 사용하고 있습니다.
커널을 공부해볼 목적으로 3.2버전의 커널을 받아서 추가로 설치하였구요
grub에 정상적으로 등록도 되었습니다.

문제는 grub화면에서 등록된 커널로 부팅하면 아무런 에러메세지 없이 보라색 화면이 가득하게 나오고 키가 먹통이 됩니다.
ctrl + alt + f1~ 쭉 눌러보고 아무키나 막 눌러봐도 아무런 반응이 없습니다.
하지만 복구모드로 진입하여 아무런 설정없이 바로 노말모드로 부팅을 다시하면 성공적으로 부팅이 됩니다.

버전도 바꿔보고 커널을 제거하고 다시 설치하기만 6번째인데 마찬가지 입니다.
어느 부분에서 잘못되어서 이런 현상이 발생하는 것인가요?

제가 초기에 우분투에서 gdm을 잘못 건드리는바람에 부팅시 텍스트모드로 들어가서 lightdm을 직접 켜줘야 x환경으로 넘어갈 수 있었습니다.
그것이 문제가 되는건가요? 부팅모드는 text모드입니다.

실력이 미천한지라 새벽까지 밤을새도 원인을 찾지 못하겠습니다.ㅜㅜ
어느 부분을 손봐야 할지 조언좀 부탁드립니다.

nicelhc13의 이미지

linux OS를 x86 에뮬레이터에 포팅하려합니다..

오랜시간 작업하다 한가지 여쭤볼게 있습니다.

linux를 에뮬레이션한 가상 보드에 포팅하려면, 가상 보드가 x86의 기능을 완벽하게 수행해야하는지요?

linux의 기능을 최소화 하더라도 올릴 수 있는 방법은 없을런지요?

예를 들어 외부인터럽트 같은 기능이 없으면 올라갈 수가 없습니까?

작업시간이 약간 부족하기에 완벽한 리눅스 기능을 올리는게 아니라

올라 갔다는 것을 보여주기만 하면됩니다.

몇 주일간 고민을 해보아도 해결이 안되네요 ㅜㅜ

도움 부탁드립니다 흑

(기능이 완벽하지 않으면 정확히 말해 리눅스가 아니게 된다는 것도 인지하고 있습니다만 ㅜㅜ)

mahapunch의 이미지

C // 쿼리 결과 고속 파일 저장 방법?

HP-UX 시스템에서 C 프로그램으로 쿼리 결과를 파일로 저장하는 업무를 진행하는 중입니다.
저장해야 하는 파일 사이즈는 150기가 이상이고 export 소요시간도 상당히 제한되어 있는 상황입니다.
업무 스펙에 맞는 프로그램 퍼포먼스가 안나와서 고수분들의 조언을 구합니다.

쿼리 결과를 지역변수에 저장하여 지역변수 writeBuffer에 모아 놨다가 일정용량이 되면 파일에 쓰는 식인데
코드는 대강 아래와 같습니다..
======================================================================================

FILE * fp = fopen(pathName, "a");
char col1[MAX_SIZE_COL1] = {0, };
..
char col10[MAX_SIZE_COL10] = {0, };
char writeBuffer[1024 * 1024 * 128];

ShaYEL의 이미지

리눅스 멀티프로세스 소켓 프로그래밍에 대한 질문입니다

에코 클라이언트 프로그램인데요, 자식 프로세스를 만들어서 부모는 수신, 자식은 송신을 담당하도록 만들었습니다. 아래에 코드 전문을 적어놨는데요, 보내는 문자열이 짧을때는 문제가 없는데 문자열이 길어지면 조금 이상하게 작동합니다.

부모 프로세스와 자식 프로세스가 동시에 실행되는것처럼 보인다.. 는건 알겠는데 아래와 같은 경우 정확히 부모 프로세스가 어디까지 실행되고 나서 대기를 하고, 다음 자식 프로세스가 어디까지 실행되고 나서 대기를 하게 되는지, 이런것들이 이해가 잘 안됩니다.

if (pid == 0)
		write_routine(sock,buf);
	else
		read_routine(sock,buf);

이 부분이 정확히 어떤 과정으로 돌아가게 되는 건지 설명해 주시면 감사하겠습니다.

smallhuman의 이미지

vim에서도 컴파일 결과를 미리 보여주는 확장기능이 있나요?

Eclipse에서는 지금 코드를 치는 도중에 구문오류가 있거나 기타 문제가 있으면 줄 번호 왼쪽에 문제있다고 표시가 뜨잖아요.
혹시 Vim에서도 같은 역할을 해주는 확장기능이 있나요?
그리고 이 기능 이름이 뭔가요? ^^;; 답변 부탁드립니다.

nice7285의 이미지

아파치 서버에 접속시 http 404 에러가 뜹니다. 도와주세요~ ㅠㅠ

안녕하세요.

아파치 서버를 설치해서 다른 컴에서 접속을 하는데 http 404에러가 발생해서 어떻게 조치를 해야할지 여쭤봅니다. ㅠㅠ

증상은 아래와 같아요.

yemcs의 이미지

막막해서 질문해 봅니다.

저는 학원 출신이며 자바와 jsp위주로 배웠습니다

취업을 하기 위해서 여러군데 면접을 보는데 하나같이

리눅스 혹은 유닉스를 다룰줄 아냐고 물으시더군요

리눅스를 vm으로 명령어 정도 공부 했다고 하니 면접관 분들의 반응이 만족스럽지 않은 듯 하더군요

마치 리눅스 정도는 어느정도 할줄 알고 와줬으면 하는 그런 반응이던데

리눅스를 책을 봐도 제가 안목이 없어서 그런지 거의 명령어 책같은데

취업을 위해서라도 또 한계단 더 높은 개발자가 되기 위해서라도 이걸 배우고 싶은데

공부 방향을 방법을... 감을 못잡겠습니다...;;

혼자 생각해본 바로는 기초 책을 마스터 , 리눅스 마스터 1급 자격증을 목표로 공부

이렇게 두가지 방법을 생각 해봤는데요 어떤식으로 리눅스를 공부 하는 것이 좋을 까요??

bloody의 이미지

외국어 문자열 처리와 관련하여 질문이요

첨부된 2개의 일본어 텍스트 파일(txt, html)을 보시면...
메모장에서 열어보면 특정 글짜가 깨져서 보이지만
html파일을 열어서 브라우저로 보면 안깨져 보입니다.

둘다 유니코드로 저장된(UTF-16)파일입니다.

왜 그런 차이를 보일까요?

페이지

프로그래밍 QnA + 설치 및 활용 QnA + 질문 구독하기