프로그래밍 QnA

GMRyuj의 이미지

[완료] 소프트웨어의 설계시 소프트웨어가 구체화 될수록 그에 맞게 하위클래스들도 구체화될때, 프로그램을 구성하는 클래스는 결합도가 높아지는 것인가??(높아질수밖에 없는 것인가?)

소프트웨어 설계에 관심을 가지고 있는 현역 군인입니다.
최근 UML과 소프트웨어 디자인&아키텍쳐를 읽고, 소프트웨어를 제작하고 있습니다.
여기에 소프트웨어 제작을 하면서 디자인 패턴도 적용하고 싶어 디자인 패턴까지 적용하여 설계를 하고 있는 중입니다.
그런데 갑자기 이러한 생각이 드는군요.. 추상화, 다형성, 상속이런 용어를 계속 접하다보니 지금 정신이 없어서 그러는지는 모르겠지만..
우선 배운 것으로는 OOP 5대 원칙 (SRP, DIP, ISP , LSP, OCP)을 최대한 지켜서 설계를 하고있고 여기에 MVC 패턴(?)모델도 또한 생각을 하면서 설계를 하고 있습니다.
그런데 지금 제가 겪고있는 문제는 위와 같은 설계원칙은 아닌것 같아서 질문드립니다.

u235의 이미지

C에서 사용자정의 자료형을 만들수 없다는게 맞나요?

8051 계열중
char chr[5]; 배열에서
이 5바이트에 대해 >> 연산이 필요 합니다.

흔히들 하나씩 처리하면 되지 않냐고들 하지만 LSB가 다음요소의 MSB로 전달이 안되는 문제를 간과한 발상이지요.
이문제를 해결하기 위해서는 5바이트를 하나의 자료형처럼 사용하는 사용자 정의 자료형을 선언하면 되겠으나
C에서는 아쉽게도 이를 지원하지 않는다네요.
물론 구조체(공용체) 역시 기본 자료형을 규합한 복합 자료형이지 사용자정의 자료형은 아닙니다.

복잡하지만 5바이트를 새 자료형으로 typedef 하는방법은 있다고 하는데요.
가능하신분은 작동원리를 부탁 드립니다.

참고로 8051계열의 최대 자료형은 long (4Byte)가 최대 입니다.

콩수니의 이미지

임베디드 리눅스에서 특정 마다 실행하도록 하려면!?

임베디드 입문자입니다1!

일정시간 마다 프로그램을 구현하기 위해서 쉘프로그램을 이용해서 구현하려고합니다
일반 리눅스에서는 crontap으로 하면되는데 임베디드 리눅스에서는 어떻게 이를 구현하나요??
cron을 포팅해야 하는건지??ㅠ

포팅하려니 소스는 어떻게 구하죠!?ㅜ

sacredone의 이미지

파일에서 특정위치의 데이터 삭제가 잘안되네용..

파일을 오픈합니다

fseek으로 파일포인터를 이리저리 움직일수 있겠죠

그러다가 특정 한줄을 삭제하고

다음줄을 땡길수있을까요

-파일-------------
abcd
efgh
ijkl
mnop
qrst
------------------

이런 파일을 오픈한다음에
가운데 "ijkl" 을 지우고

-파일-------------
abcd
efgh
mnop
qrst
-----------------

가능할까요

전체를 다읽고 그부분을 빼고
새로저장하는방법은 제외하였습니다
파일이 커지면 효율이 너무안좋아져서...

r+ 모드로 파일을 열고

그파일에서 수정만 할려고합니당

season12의 이미지

커널 관련 질문좀 드리겠습니다..

멀티코어 환경에서 스레드 로드 밸런싱 프로그램을 구현하려고 합니다.

코어의 스레드 스케쥴링을 보고 가장 빠르게 실행될수 있는 코어의 스케쥴링 리스트에 워커 스레드를 집어넣고 싶은데요..

제가 구현하고자 하는 환경은 윈도우서버 OS 에서 구현하고자 합니다.

현재 디바이스 드라이버 공부중인데.. 커널 공부부터 해야 겠다고 생각이 들어서요..

커널 쪽은 아예 모른다고 봐도 될정도로 무식합니다 -0-

현재 리눅스 커널을 공부해야 하나 싶어서 질문을 드립니다.

리눅스커널과 윈도우커널이 비슷하다고 얘기를 들어서요..

리눅스커널을 공부한 후에 커널에 대한 개념을 잡고 제가 구현하고자 하는 프로그램을 구현하는데 도움이 될까 해서 질문합니다..

디바이스 공부중인데 전혀 감이 오질 않아서요..

아니면 리눅스커널공부는 도움이 안될려나 걱정도 되고요..

고수님들께 질문드려서 명쾌한 답을 얻고자 하는 초보의 맘을 헤아려주시면 감사하겠습니다..

ghostyak의 이미지

상용 안드로이드폰에서 USB Device Driver 를 올리는 방법이 있나요?

예를들어 갤3 같은 폰에

USB Device Driver를 올리고싶은데 방법이 있는지 궁금합니다.

sacredone의 이미지

[완료] 개발중 질문있습니다

typedef struct Stack{
    char stack[STACK_SIZE];
    int top;
}Stack;
 
void push(Stack* s, char c)
{
    if(s->top == 100){
        printf("stack is full\n");
        exit(1);
    }
    s->top++;
    s->stack[s->top] = c;
}

이러한 스택 구조체와 푸시 함수를 구현했는데

구현할때는 char 형에 대한 처리만 하면됬어서 저렇게 만들었다가

완전히 동일한 기능을 하지만 double 형인 기능이 필요합니다

그렇다고

declspec의 이미지

리눅스 커널 페이징문제...

x86, 우분투 10.04 리눅스 커널에서(대부분 비슷하지만)
커널영역의 가상주소는 0xC0000000 ~ 0xFFFFFFFF 이고 이것은
물리주소 0번지부터 선형매핑됩니다(ZONE_DMA, ZONE_NORMAL).
그리고 모든 페이지디렉토리, 페이지테이블은 이 영역에 존재합니다.
CR3 레지스터에는 페이지 디렉토리의 물리주소가 들어있습니다.

이 전제하에...

"페이지 디렉토리의 커널가상주소에 대해서 페이징을 하면 페이지 디렉토리의 물리주소가 나타나야 한다"

는 가정을 확인해보기위해 아래와같이 실험을 했지만 뭔가 이상합니다.
아래의 실험에서 제가 잘못 알고있는 부분이나 실수한 부분은 어디일까요?

1. 커널모듈 A 의 insmod 초기화함수(init_module)에서 CR3 레지스터 값을 읽어옴

unsigned int cr3=0;
asm ("movl %%cr3, %0\n" :"=r"(cr3));
printk("cr3 : %p\n", cr3);

wydyon의 이미지

[완료]vmlinux에 대해 질문이 있습니다.

임베디드 분야 초보입니다.
제발 도와주세요.. ㅜㅜ

제가 현재 테그라2보드를 이용해서 앱을 개발중인데
테그라2 보드에 센서 몇개가 포팅이 되어 있지 않아서 하려고 하는데
make menuconfig에서 수정을 하고
make를 해줬는데
vmlinux.o: final close failed: No space left on device 라는
메시지가 출력이 되면서 에러가 뜨고
ZImage가 생성이 되질 않습니다.
그래서 경로를 들어가서 알아봐도 저 파일은 존재 하지 않네요.
혹시 해결 방법을 알고 계신다면 답변부탁드립니다!!!!

revinsil의 이미지

.com에 접속할때 한국ip이면 .co.kr로 자동 포워딩 되게 하려면 어떻게 해야 하나요?

회사사이트.com에 접속시 한국ip면 co.kr로 자동 포워딩되게 하려면 어디에 문의를 해야 되나요..

현재 해외 호스팅사이트에 해외버전 사이트가 올라가 있고
xxxxx.com 주소로 매칭되어 있는데
국내 이용자들은 한국어 페이지가 필요해서 이 주소로 들어갈경우
.co.kr로 자동 이동하는 기능이 필요합니다.

(로컬페이지를 나누는 기능은 써봤는데 지금 그게 잘 안되어 이렇게 주소를 따로 포워딩 하는 기능을 찾고 있습니다)

페이지

프로그래밍 QnA 구독하기