프로그래밍 QnA

zflute의 이미지

문자열 치환 질문

vi나 sed를 이용해서 문자열을 치환하려고 합니다.

 
<html>1</itml>
<html>2</itml>
<html>3</itml>
이라는 내용을,
<number>1</number>
<number>2</number>
<number>3</number>

과 같은 형식으로 중간에 숫자는 그대로 두고 앞뒤 문자만 바꾸어 주려고 합니다.
패턴을 찾는 것은 <html>[0-9]</html> 으로 찾으면 되는데,
값을 바꿔줄 때 숫자 부분을 어떻게 처리해야할지 모르겠네요.

----------------
질문을 수정합니다.

codeart의 이미지

커널 디버거를 쓰지 않고 커널 소스 분석법 ??

커널 디버거를 쓰려면 2대의 머신이 있어야 하더군요...

한대의 컴퓨터에서 커널 소스 분석에 효율적인 방법이 있을까요??

주말은 소스코드와 함께 지내야 겠군요...

cjy1126의 이미지

HIDS에대한 오픈소스가 있나요?

학원 프로젝트로 하이브리드IDS(HIDS+NIDS)를 하려고합니다.

NIDS(Network IDS)쪽 오픈소스는 스노트가 있는것으로 알고있습니다.

제가 해야할것은 HIDS(Host IDS)쪽인데, 현재 IDS회사 제품조사 같은것이 모두 끝났습니다.

회사쪽에서 NIDS를 중점적으로해서 그런지... HIDS쪽의 기능이 약하더군요.

그래서 나름대로 필요한 기능을 찾을려고 강유님의 "리눅스 해킹퇴치기법" 책을 구입하였습니다.

이걸보면서 찾아볼려고하는데... 혹시 HIDS쪽 오픈소스나 유명한 프로그램이 없을까요?

Viz의 이미지

char *를 리턴해 주는 C 함수들의 메모리 관리는?

char *를 리턴해주는 함수들은 무지 많지요.

기본 C 라이브러리에 있는 strcat, strdup 같은 스트링 관련 함수에서 부터..
ctime같은 편한 녀석들도 있구요.

그런데 언제나 궁금한 것이.. 이렇게 받은 char *에 대해 과연 free를 해주어야 하는가.. 랍니다.

분명히 strdup 같은 경우에는 malloc으로 할당되기 때문에 free를 하라는 지시가 man page에 존재합니다.

그런데 ctime 이란 함수의 경우에는 어떨까요?

char *ctime(const time_t *timep); man page에는 free에 관련된 이야기가 전혀 없네요.

corinara의 이미지

libxml2 사용하기 xmlNode 에 대하여 변경 삭제하기

데몬이 돌기 이전에 xml의 환경설정을 메모리에 올리는데요,

중간에 클라이언트에서 어떠한 명령어를 주면, 서버에서 처음 로딩한 xml의 값

을 변경하거나, 삭제 하여야 합니다.

근데 sample 에 이러한 내용이 없는데, 직접 코딩을 해야 하나요,, 코딩을 한다
\
면 어떻게 하는지 살짝 힌트좀 주세요..

Viz의 이미지

whoami 와 같은 동작을 하는 함수는?

whoami가 찍어주는 값,
즉 자신의 username을 알고 싶습니다.
getuid를 하면 자신의 uid를 알 수 있는데.. 이걸 가지고 username을 알 수 있는 방법은 없나요? 라이브러리 함수로 있을 것이란 생각이 듭니다만 검색을 잘 못해서인지 찾을 수 없네요.

env의 USER="유저이름" 값을 파싱해서 읽으려다 먼가 더 편한 방법이 있을꺼 같아 질문드립니다. :D

oasis76의 이미지

리눅스 브릿지에서 질문 있습니다..

안냐세요..

리눅스 브릿지 구조에서 메모리 에러가 뜨는데 왜 뜨는지를 모르겠네요..

기존 브릿지 소스를 수정했구요..
뜨는 부분은 브릿지에 이더넷 인터페이스를 추가 하는 부분입니다.
그리고 다른 함수에서 26번 루프를 돌면서 이함수를 콜합니다.

// 소스
int br_add_if(struct net_bridge *br, struct net_device *dev)
{
struct net_bridge_port *p;
int i;

~~~~~~~~~~~~~

dev_hold(dev);
write_lock_bh(&br->lock);
if ((p = new_nbp(br, dev)) == NULL) {
printk("%s %d\n", __FUNCTION__, __LINE__);

UnShit의 이미지

volatile 에 관해서

수업시간에 volatile 에 관해서 잠시 언급했었는데 교수님께서
volatile 은 프로그램종료가 되어도 거기 저장되어있는 값이 그래도
남는다고 하셨습니다. 그래서 프로그램이 몇번 실행되었는지 체크할때도
volatile 을 쓴다고 하셨는데
아마도 너무 간단하게 설명하느라 이런식의 설명이 되어진것 같습니다.

여기서 검색을 해보니까 그런개념이 아닌것 같습니다.

실제로

volatile int a;
int main()
{
printf("%d",a++);
}

하하의 이미지

전처리문 관련질문입니다.

아래 소스를 보시면 ifndef을 통하여 Makefile의 하나의 target에 대해 한번의

m1.h를 인클루트 하게끔 처리 하였습니다.

헌데 왜.. 에러가 발생하는 건지... ^^...

소스는 다음과 같습니다.
[code:1]
파일이름 m1.c -------------------------------------------------
#include <stdio.h>
#include "m1.h"

int main()
{

koo();

m2();

}
파일이름 m1.c -------------------------------------------------

파일이름 m2.c--------------------------------------------------

페이지

프로그래밍 QnA 구독하기