전체 글 31

[C/C++] 함수 포인터

[C/C++] 함수 포인터 C와 C++에서 함수 포인터를 한번 살펴보겠습니다. 함수 포인터란 함수를 저장할 수 있는 포인터를 뜻합니다. 우선 다음과 같은 세가지를 예제로 살펴보겠습니다.1.일반 함수 포인터에 멤버함수의 주소를 담기2.일반 함수 포인터에 static 멤버변수를 만들기3.멤버 함수를 함수 포인터에 담기 #includeusing namespace std;typedef class _Point{int x;int y;public://static int s;public:_Point(int x = 0, int y = 0, int s = 0){this->x = x;this->y = y;//this->s = s;}void Print(){cout

C,C++ 2015.09.16

[네트워크 용어] AAA

[네트워크 용어] AAA(Authentication Authorization Accounting) 저번에 보안과 관련된 용어를 한번 살펴본다고 했습니다. 첫 번째 보안 용어이므로 보안의 제일 기본이 될 것 같은 기본 용어를 한번 보고 가겠습니다. AAA, Triple-A라고 읽는 이 용어는 보안의 세가지 요소인 Authentication(인증), Authorization(권한부여), Accounting(계정 관리)를 합쳐 축약한 용어입니다. 제가 생각하기엔 보안은 이 세가지만 제대로 지켜진다면 거의 대부분이 해결 됩니다. 하지만 정말 어려운 부분이죠. 그럼 각 용어를 자세히 보겠습니다. 1. 인증(Authentication): 보안 기능에서, 사람이나 프로세스의 신분을 확인하는 것.2. 권한부여(Auth..

보안 2015.09.16

[System Programming] IPC Protocol

[System Programming] IPC 리눅스 프로세스간 통신 프로토콜입니다. 리눅스에서 다양한 방식의 IPC 통신 방법을 제공합니다. 분류는 위키에서 나눈 방식으로 구분하겠습니다.MethodShort DescriptionProvided by (operating systems or other environments)FileA record stored on disk, or a record synthesized on demand by a file server, which can be accessed by multiple processes.Most operating systemsSignalA system message sent from one process to another, not usually us..

System 2015.09.15

[IT 용어] ECU(Electronic control unit)

[IT 용어] ECU(Electronic control unit) 요즘 자동차 관련 다양한 소식 중 자주 등장하는 용어가 있습니다. "ECU의 펌웨어...", "스마트카 보안을 위한 ECU 개발이 필요..." 등 요즘 자동차에 당연히 들어가 있는 전자부품으로 보이는 ECU라는 말이 나오고 있죠. ECU란 Electronic Control Unit의 약어로 주로 자동차에 쓰이는 임베디드 시스템의 전자제어장치를 말합니다. 사용되는 위치에 따라 TCU(Transmission control unit), DCU(Door Control Unit), ECU(Engine Control Unit), SCU(Speed Control Unit) 등 다양하게 분화되는데, 이 모든 Control Unit을 통틀어 Electro..

IT 2015.09.15

[C++/CLI] C# C++ 연동

[C++/CLI] C# C++ 연동 .NET환경에서 c/c++로 만들어진 dynamic Library(DLL)은 DLLImport를 통해 바로 사용가능합니다. 하지만 Static Library(lib, so)들은 사용할 방법이 없어서 다시 DLL로 만들어 주어야만 사용할 수 있습니다. 다시 lib를 dll로 만들려면 코드 수정이 불가피하게 되고, 기존에 이 정적 라이브러리를 사용하던 프로젝트들까지 생각해야 할 수 있습니다. 하지만 기존의 정적 라이브러리를 C++/CLI Wrapper Class로 만든다면 기존의 코드는 수정할 필요없이 DLL을 만들어 줄 수 있습니다. 1. C++ static library win32 프로젝트로 static library 탭을 체크해서 프로젝트를 만들어 주시고, 다음과 같..

.NET 2015.08.04

[ARM 11차 B조] 14.06.14 스터디 후기

6월 14일 9주차 스터디 후기 1. Study history - arch/arm/boot/compressed/head.S 진행 중 - linux stable 3.14.4 진행 중 2. 이슈사항 -1. 리틀-엔디안 방식으로 인한 로드 방법 차이 해당 코드에서 로드하는 r10은 LC0에서 받아온 값으로 압축 풀린 커널의 크기가 들어있는 메모리의 주소이다. 해당 사이즈를 받아와서 레지스터에 저장해둡니다. 리틀 엔디안의 경우 메모리에서 레지스터로 값을 로드할 경우 상위 주소와 하위 주소가 다른 문제가 생긴다. 예를 들어 커널 사이즈 0x12345678가 리틀 엔디안 방식에서 메모리에 저장된다면 하위주소 상위주소로 저장됩니다. 이 상태에서 빅엔디안에서 해당 메모리에 있는 값을 레지스터로 r9로 불러온다면, 상위..

Kernel분석 2015.07.08

kernel 분석 환경설정(arm)

Kernel 분석 환경설정 Linux에서 vim을 통해 Kernel 분석을 진행하기 위한 환경설정 방법 ubuntu12.04에서 분석하고 있습니다.1. ctags, cscope, git 설치$sudo apt-get install tags cscope git git-core 2. 분석할 linux 버전 선택(3.14.4-stable) 3. 아키텍처 선정 및 cross-compiler 설치 임베디드 환경을 위해 arm 아키텍처 exynos5420을 선정했습니다. 해당 설정으로 컴파일 하기 위해 cross-compiler를 설치합니다. 전 mentorgraphics에서 배포하는 최신 cross-compiler를 설치 하였습니다. 컴파일 하기 전에 아키텍처 설정과 exynos5420에서 지원하는 big-litt..

Kernel분석 2015.07.07

[ARM 11차 B조] 14.05.31 스터디 후기

2014년 5월 31일 7주차 스터디 후기 1. Study history - 5월 31일(7주차) 12:00 ~ 6:00 성수 서울앱창업센터에서 진행, 14명 참석 - arch/arm/boot/compressed/head.S 진행 중 - 6월 7일(8주차) 스터디 휴식 2. 이슈사항 추가적인 이슈사항이나 고쳐야 할 부분 있을경우 댓글로 달아주세요. 수정해서 올리겠습니다. -1. 재배치 관련 이슈사항 모기향책과 기타 참고자료들로 정리해봤습니다. 댓글로 태클점 주세요. mov r4, pc and r4, r4, #0xf8000000 add r4, r4, #TEXT_OFFSET /* Set up a page table only if it won't overwrite ourself. * That means r4 ..

카테고리 없음 2015.07.07