프로그래밍 QnA

mosad34의 이미지

리눅스에서 코드 영역에 memcpy시 오류...해결방법은 뭘가요?

안녕하세요~

프로그램을 짜던중에 윈도우에서 사용중인 부분을 리눅스에 사용할 수 있도록 변환하고 있습니다.

그런데 여기서 문제가 일단 생기는 부분이

코드영역에 해당되는 주소에 memcpy로 뭘 덮어씌우거든요..

윈도우에서는 별 문제 없이 되는데

리눅스에서는 그냥 SIGSEGV 나오면서 뻗네요..

멤카피지 뭐 인자가 잘못들어가거나 그런건 아니구요

단지 목적지 주소가 코드영역이 이거든요..

리눅스에서 뭔가 메모리 보호속성이 걸려있어서 그런거 같은데...

아무리 찾아봐도 gdb로 메모리 속성보는 거나 뭐 그런게 안나와 있더라구요..

혹시나해서 찾아본 mprotect라는 함수로는 코드영역의 보호속성변경이 않된느거 같더라구용..ㅠㅠ

1. gdb로 해당 주소의 메모리 보호속성을 볼수 있는 방법이 있나요?? 뭐 쓰기만 가능 읽기만 가능 모이런거 나오는거요
2. 해당주소의 메모리 보호속성을 변경할수 있는 방법은 뭐가 있을가요..

bigbaby의 이미지

서버 소켓이 죽는 경우??

안녕하세요 날씨가 많이 춥네요 ㅎ 감기 조심하세요...

서버 프로그램을 짜고 있는데요...

select 시에 Bad file descriptor 에러가 발생하고 있습니다.

select 함수에는 서버 소켓을 fd_Set에 세팅한 fd_Set 을 전달하며,

클라이언트의 접속 요청을 처리하기 위해 사용됩니다.

즉, select 함수가 리턴되면, accept()함수를 호출하기 위해 사용됩니다.

근데, 갑자기 select 시에 bad file descriptor에러가 발생하고 서버에 행이 걸리고 있습니다.

어떤 경우에 서버 소켓에서 bad file descriptor이 발생할 수 있을까요???

crom007의 이미지

멀티 쓰레드는 순차 수행인가요 동시 수행인가요???

안녕하세요
리눅스에 입문할려고 하는 초보입니다
쓰레드에 대해서 알아보고 있는데요
프로그램은 순차 수행하는걸로 배웠습니다
그렇다면 멀티 쓰레드도 결국은 순차 진행이 아닐까라는게 제 생각인데요 또 그렇게 들었구요
그렇다면 일반적으로 함수 호출하고 별반 틀리지 않을까 라는 생각도 듭니다

#include <stdio.h>
#include <unistd.h>  
#include <pthread.h>  

kwonsu의 이미지

X11 mouse scroll 제어 질문입니다.

원하는것은 간단한건데 방법을 몰라 이렇게 질문드립니다.

Xwindow가 실행된 상태에서 opera등등 기타 응용프로그램을 실행 할 경우 Ctrl+mouse scroll up/mouse scroll down 을 같이 하고 싶습니다.

즉 확대/축소를 해볼려고 하는데요 키보드나 마우스에서 입력을 받는것이 아니라 응용프로그램에 바로 전달하고자 하였습니다.

제가 해본것은 XTestFakeKeyEvent을 이용하여 이것저것 해봤으나 어림없음을 느끼고 xte로 하려도 했으나 이해를 잘 하지 못해서인지 원리조차 이해가 가지 않았습니다.

테스트 코드나 아니면 참고해야 할 사항이 무엇인지 알려주시면 고맙겠습니다. ^^ 감사합니다.

whdgus15의 이미지

(내용수정)C, MYSQL 연결이 계속 지속 될경우 문제점...?

안녕하세요.

현재 대략 1초마다 200~300개의 UDP패킷을 받아 파싱하고 파싱된 내용을 C API를 이용하여 DB(MYSQL)에 저장하는 데몬프로그램을 만들고 있습니다.
근데 매번 패킷이 들어올때마다 DB에 접근하다보니 속도가 느리고 DB의 부하가 큰 것 같아서,
처음 데몬실행시 DB에 연결을 하고 그 이후에 패킷이 들어오면 쿼리만 날리는 식으로 DB처리방식을 바꾸려고 합니다.

여기서 의문점이 생기는데요...

1. 이런식으로 처음 데몬실행시 DB연결이 된다면 DB연결이 일주일, 한달 가까이 지속될경우도 생길텐데 이런경우에 문제점은 없는건가요??

2. 다른 궁금한점은 현재는 1초마다 패킷이 들어오지만 장시간동안 패킷이 들어오지 않을경우 연결이 끊어지거나 하지 않을까요??

noradiance의 이미지

정규 표현식 질문입니다.

책에서 보고 이해가 안되어서 올리는데요

Please enter the nine-digit id as it appears on your color - coded pass-key.

에서 \B-\B 를 적용했을 때 왜 " color - coded " 의 하이픈(-)이 검색되는건지 모르겠습니다.

\B-\B는 [a-zA-Z0-9_]-[a-zA-Z0-9_] 에 포함되는 하이픈을 찾는것이 아닌가요?

\b의 정의 자체가 하이픈과 공백 사이의 위치를 가리키는 것으로 알고 있는데 그렇다면 공백이 붙어있지 않는 하이픈을 검색하는게 맞는 듯 생각되어서요.

너무 헷갈리네요

donaberkeley의 이미지

소켓 데이터를 포워딩 하는데에 질문이 있습니다.

안녕하십니까,

SSL 패킷을 처음 client hello 부터 server certificate까지 모니터 하면서 데이터를 저장하고,
그 이후에 접속을 계속 유지하려 합니다.

연구용으로 하는 것이라 포트 443을 iptable에서 제가 직접 제작한 서버의 포트로 redirect 해서 접속을 받아와서,
브라우져에서 서버로 가는 데이터를 제가 relay해 주며
거기서 패킷을 읽어가며 server certificate까지 메세지를 저장하는 것 까진 좋은데,

그 이후에는 모니터링을 하지 않을 것이라 서버로 뚫린 소켓과 브라우져로 뚫린 소켓을 연결 해 주고 싶은데요,

1. 두 thread의 while(1) 안에서 recv, send를 각각 서버 -> 브라우져, 브라우져 -> 서버 로 하는 무식한 방법이 제일 먼저 생각이 나구요,

2. 좀 더 괜찮은걸론 select를 해서 데이터 온 fd에 대해 짝지를 array에 지정해두어서 보내는 방식이 있을텐데요

pogusm의 이미지

[완료] C++에서 아주큰 문자열 처리에 대해서 조언좀 해주세요~

프로그래밍 초보이구요
qt로 연습중입니다

MFC에서의 CString과 같은 용도인것이
Qt에서는 QString라는게 있더라구요

아주큰 문자열은,
"0000001> 01-02-03-04-05-06" 같은 문자열입니다(로또번호)
총 8145060개의 경우의수를 1000개씩 나누어서 1~8146페이지로 나누어 출력하고 싶습니다.

그냥 매 페이지를 선택할때마다 8145060번의 루프를 돌면서,
페이지에 맞는 자료를 출력하는 방법도 가능하지만,
저는 반드시 문자열 배열로 저장해 놓고 사용하고 싶습니다.

QString result[8145060]; 같은 방법으론 안되더라구요..

그래서
QString result[8146]; 으로 선언한다음
result[i].append("0000001> 01-02-03-04-05-06,");
같은방법으로 하면, 거의 다운이 되더라구요
(프로그램응답이 없고, 작업관리자에서 리소스모니터를 해보면 메모리점유율만 계속 올라갑니다)

pjungh1117의 이미지

Ctags 와 cscope 의 차이점을 알려주세요..

ctags 와 cscope 의 차이점좀 알려주세요

ctags 를 설정하여 사용하고 있습니다.

그런데 cscope 라는 걸 알게 되었고 사용해보려고 하는데

ctags와 큰 차이가 없는거 같더라구요..
cscope 를 사용하는 이유는 무엇인지... 지역변수와 전역변수의 선언을 찾기 쉽다..라고 되어 있던데..

ctags에서도 사용가능한 부분이 아닌가요??

딱 이렇다 할 차이점 혹은 두개의 장점과 단점이 있는지요???

그것이 갑자기 궁금하네요..

cscope 랑 3시간 서칭을 해봤지만.. 그렇다할 정보를 찾지 못해서 여쭤봅니다.

darkship1022의 이미지

투표게시판 구현관련하여 SQL(오라클) 질문드립니다.

우선 상황설명부터 알려드리자면,

게시물들을 구별할 수 있는 SEQ가 있는 테이블이 있습니다.
이 테이블에 데이터가 INSERT되면 SEQ 넘버가 갱신되는데
이때 이 SEQ를 참조하는 테이블에 데이터가 동시에 입력이 됩니다.

위 상황은 구현하는 데에 있어서 문제가 없다고 생각하지만,

문제는 이 과정이 하나의 쿼리로 해결하고 싶다는 것입니다.;;;
즉 데이터를 저장할 때 발생하는 seq를 동시에 다른 테이블에 참조하여 데이터를 저장하려고 하는 것입니다.

설계자체에 문제가 있을 수 있겠지만 우선 최대한 사용자에게 편의를 주기 위한 투표게시판을 작성하려다 보니
이렇게 왔네요 ^^;;;

아무쪼록 다른 더욱 좋은 방향을 알고 계시거나
위 문제를 해결할 수 있는 SQL 쿼리문을 알고 계신 분께서는 답변으로 도와주시면 감사하겠습니다. :)

페이지

프로그래밍 QnA 구독하기