프로그래밍 QnA

livey의 이미지

파일에 태그(메타데이터) 추가 관련.

사진,음악,동영상 파일속성을 보면 찍은날짜 만든이 장르 설명 등의 태그값을 설정하고 편집하는게 가능하던데

1. 파일속성에 나타나는 기본적인 태그값외에 사용자가 임의로 태그값을 추가하는것도(메타데이터 용량증가) 가능한지요 (파일속성에는 표시가 되지 않더라도)

2. 이 태그값을 관리하는 c++,자바 라이브러리는 어떤게 있는지 궁금합니다.

3. 사진 음악 동영상 포멧이 아닌 다른 파일 포멧에도 임의의 태그값을 추가하는게 가능한지 궁금합니다.
(mp3에 붙는 ID3 라는 메타데이터를 파일 끝부붙에 추가하던데 ID3과 같은 메타데이터를 파일 헤더에 메타데이터가 있다는 표시를하고 파일 끝부분에 추가하기만하면 모든 파일 포멧도 다 가능한게 아닌가 생각해봅니다만..)

고수님들 키워드라도 부탁드리겠습니다~

melody3741의 이미지

RPC기반으로된 VXI-11 프로토콜 질문있습니다..

제가 많이 부족하여 이렇게 질문을 남기게 되었습니다..
우선.. 제가 리눅스를 많이 모르고 펌웨어 개발자 이긴한데 펌웨어도 그렇게 잘하지는 못하는거 같네요... 그래서 도움을 받기위해 이렇게 질문을 남기게 되었습니다..
VXI-11 프로토콜이.. 계측기에서 주로 사용되는 TCP/IP 로 RCP 기반으로 된 프로토콜인데요..

VXI consortium (http://www.vxibus.org/specifications.html) 스펙 문서가 있습니다..
보니깐..
unix에서 rpcgen을 이용해서 코드를 생성하더군요.. 4개의 파일을요..

kimmir71의 이미지

[문의]linux Driver작성시 연속된 메모리 할당방법

윈도우즈 Driver개발하다가 linux Driver도 함께 개발 하려 하는대요.
PADDR paPhyAdr;
PDMA_ADAPTER pDMA;
unsigned char *bpDMAMem;

윈도우즈에서는 bpDMAMem = (unsigned char *)(*pDMA->DmaOperations->AllocateCommonBuffer)(pDMA, 1024*1024*3, &(paPhyAdr), FALSE);
이런식으로 연속된(non page) kernel메모리와 Physical메모리 3MB를 할당해서 사용 했습니다.

리눅스에서는 연속된(non page) Physical메모리 3MB를 할당해서 사용할수있는 방법이 있는지 알고자 합니다.
아시는분 있으면 좀 알려 주세요.
몇일 web찿았지만 찾을수 없서서 문의 합니다.

lsj4401의 이미지

리눅스 라이브러리와 인크루드..

안녕하세요

libmemcached 라이브러리를 사용해서 코딩을 하려는데 막히는 부분이 있어서 질문을 남깁니다...

libmemcached 압축을 풀어 설치하면

bin include lib share 폴더가 생성되고요

include 밑에는 libmemcached/memcached.h 가 있고요

nowhere1122의 이미지

sprintf 질문

sprintf 값

bbtan의 이미지

FreeType 폰트 문의드립니다.

이번에 FreeType를 사용해서 폰트를 변경해보고 싶은데요 너무 모르는게 많네요..
1. 사이트에서 소스를 다운 받았습니다.
2. Win32폴더의 프로젝트를 열어서 Build하였습니다.
3. 2번에서 만들어진 lib파일을 사용하기 위해서 VS2005에서 Smart Device로 프로젝트를 하나 추가하였습니다.
4. include위치, lib위치, lib파일명을 설정합니다.
-----이상태에서 빌드하면
error LNK2019: unresolved external symbol FT_Init_FreeType referenced in function WinMain
에러가 발생합니다.-----

3번의 Smart Device대신 Win32로 프로젝트를 생성하면 정상동작합니다..
왜 그런건가요??

FreeType를 빌드할때 SDK부분을 3번의 Smart Device로 설정해서 하면 증상이 사라질까요??

chlgpwjd39의 이미지

시스템의 페이징 폴트 질문

cpu점유율이 높아 이래 저래 확인 하던 중에

작업관리자에서 리소스 체크 하는데에서
system interrupts에서 평균 10%넘게 먹고 있고
disk 쪽의 system에서 pagefile.sys 400~500kb씩 쓰고 있는데
이부분이 원인이 될까요? 400~500kb면 얼마 안되는 거 같긴 한데?
잘 아시는분 있을까요?

kid1402의 이미지

C++ 에서 멤버 함수랑 멤버변수에 직접 접근하는거랑 많이 다를까요?

예를들어

class MyPool
{
public :
    boost::pool<> MemoryPool;
 
    ... 
};

위와 같은 Pool을 래퍼한 클래스가 있고 이 풀 객체의 멤버 변수인 MemoryPool::malloc() 함수를 이용해서 메모리를 쓰려고 할 때

1) 멤버 함수를 만들어서 접근하는 것.. 즉

void *Malloc()
{
    return MemoryPool.malloc();
}
...
 
DataStructure *newData = (DataStructure*)(MyPool.Malloc());

2) 멤버 변수에 직접 접근한 뒤 해당 변수의 함수를 호출하는 것... 즉

mcjj의 이미지

리눅스 공부하다가 wait queue관련해서 질문드립니다

scheduler를 직접 구현해 보고 싶어서 공부하는데 도저히 진도가 안나가서 여기 질문드립니다.

kernel에서 가상 cpu의 객채를 구현하여 user process에서 실제 프로세스처럼 동작하는 가상 프로세스 객체를 구현하는것이 목표인데

user program은 구현을 했는데 가상 cpu의 구현이 어렵습니다.

FCFS를 구현하고자 하는데 wait queue를 어떻게 써야할지 감이 안옵니다.

일단 주어진 부분은 아래와같습니다.

asmlinkage int sys_ku_cpu(char name[4], int job){
pid_t pid = current->pid; //pid_t 자료형으로 현재 프로세스의 pid저장

leolo의 이미지

epoll 의 ET 사용법에 대해서...

epoll을 사용해서 데이터를 읽어 들여야 하는데. 어떻게 처리해야 할지 몰라서 문의드립니다.

단순히 EAGAIN 까지 돌면서 읽는 것이 아니라.

특정 데이터 사이즈(24) 만큼 읽고, 거기서 body len을 읽고, 다시 body len을 읽어 들이는 것입니다.
ET를 사용할 경우 [A부분] 에서 EAGAIN가 발생할 떄까지 돌면서 읽어야 한다고 하는데.
정확히 어떻게 해야하는지 잘 모르겠습니다.

예들 들어 상대편이 100byte의 데이터를 보냈는데,
그걸 읽었을 때, 40byte의 온전한 데이터(header와 body로 구성된)가 2개 연속, 나머지 20byte의 온전한 데이터(header와 body로 구성된)가 존재하고 수신된다고 가정했을 때,
EAGAIN이 60byte 수신 후 발생, 나머지 40byte에서 또 발생한 경우에 대한 처리 같은 것이 궁금합니다.

/* epoll 파일 fd 저장소 생성 */
epfd = epoll_create(MAXEPOLLSIZE);
if(epfd == -1) {

페이지

프로그래밍 QnA 구독하기