1 |
1
제1 메모리에서 자료구조를 구성하는 제1 프로그램의 코드를 식별하는 단계;상기 제1 프로그램이 제2 메모리에서 작동하기 위해 필요한 변환 정보를 입력받는 단계; 및상기 변환 정보에 기초하여 상기 제1 프로그램을 상기 제2 메모리에서 상기 자료구조를 구성하는 제2 프로그램으로 변환하는 단계를 포함하고,상기 제2 프로그램으로 변환하는 단계는,상기 제1 프로그램의 시작 함수에 제2 메모리에 상기 자료구조가 구성되는 메모리 영역을 초기화하는 코드를 삽입하는 단계;상기 제1 프로그램의 상기 자료구조를 초기화하는 함수를 변환하는 단계;상기 제1 프로그램의 상기 자료구조를 해제하는 함수를 변환하는 단계;상기 자료구조를 초기화하는 함수가 노드 생성을 위해 호출하는 서브 함수를 변환하는 단계; 및상기 자료구조를 해제하는 함수가 노드 제거를 위해 호출하는 서브 함수를 변환하는 단계중 적어도 하나를 포함하는 코드 재생성 방법
|
2 |
2
삭제
|
3 |
3
제1항에 있어서,상기 메모리 영역을 초기화하는 코드는,상기 변환 정보에 포함된 상기 메모리 영역을 식별하기 위한 영역이름이 부여된 상기 메모리 영역을 생성하는 메모리 영역 생성 함수;상기 영역이름이 부여된 메모리 영역을 식별하는 함수; 및상기 메모리 영역 생성 함수가 상기 메모리 영역을 생성하였는지를 식별하여, 상기 메모리 영역이 생성되지 못한 경우, 상기 메모리 영역을 식별하는 함수를 호출하는 조건부 실행 함수를 포함하는 코드 재생성 방법
|
4 |
4
제1항에 있어서,상기 제1 프로그램의 상기 자료구조를 초기화 하는 함수를 변환하는 단계는,상기 변환 정보에 포함된 상기 메모리 영역을 식별하기 위한 영역이름이 부여된 상기 메모리 영역의 루트 노드 주소를 탐지하는 함수를 삽입하는 단계; 및상기 메모리 영역을 초기화하는 코드에서 상기 메모리 영역이 생성되지 않은 경우, 상기 루트 노드 주소를 탐지하는 함수를 호출하는 조건부 실행 함수를 삽입하는 단계를 포함하는 코드 재생성 방법
|
5 |
5
제1항에 있어서,상기 제1 프로그램의 상기 자료구조를 해제하는 함수를 변환하는 단계는,상기 제1 메모리에서 상기 자료구조를 해제하는 함수를 식별하는 단계;상기 식별된 상기 자료구조를 해제하는 함수가 호출되지 않도록 비활성화하는 단계를 포함하는 코드 재생성 방법
|
6 |
6
제1항에 있어서,상기 자료구조를 초기화하는 함수가 노드 생성을 위해 호출하는 서브 함수를 변환하는 단계는,상기 제2 메모리의 상기 자료구조에 상기 노드를 생성하는 메모리 할당 함수를 삽입하는 단계; 및상기 제1 메모리의 상기 자료구조에 상기 노드를 생성하는 메모리 할당 함수를 제거하는 단계를 포함하는 코드 재생성 방법
|
7 |
7
제1항에 있어서,상기 자료구조를 해제하는 함수가 노드 제거를 위해 호출하는 서브 함수를 변환하는 단계는,상기 제2 메모리의 상기 자료구조에서 상기 노드를 제거하는 상기 제2 메모리에 대한 메모리 해제 함수를 삽입하는 단계; 및상기 노드가 할당된 메모리에 따라 메모리 해제 함수를 선택적으로 호출하는 조건부 실행 함수를 삽입하는 단계를 포함하고,상기 조건부 실행 함수는,상기 노드가 상기 제1 메모리에 할당된 경우, 상기 노드를 제거하는 상기 제1 메모리에 대한 메모리 해제 함수를 호출하고,상기 노드가 상기 제2 메모리에 할당된 경우, 상기 노드를 제거하는 상기 제2 메모리에 대한 메모리 해제 함수를 호출하는 코드 재생성 방법
|
8 |
8
제1항에 있어서,상기 제1 메모리는 휘발성 메모리인 코드 재생성 방법
|
9 |
9
제1항에 있어서,상기 제2 메모리는 비휘발성 메모리인 코드 재생성 방법
|
10 |
10
제1 메모리에서 자료구조를 구성하는 제1 프로그램의 코드를 제1 프로그램 코드 식별부;상기 제1 프로그램이 제2 메모리에서 작동하기 위해 필요한 변환 정보를 입력받는 변환 정보 입력부; 및상기 변환 정보에 기초하여 상기 제1 프로그램을 상기 제2 메모리에서 상기 자료구조를 구성하는 제2 프로그램으로 변환하는 프로그램 변환부를 포함하고,상기 프로그램 변환부는,상기 제1 프로그램의 시작 함수에 제2 메모리에 상기 자료구조가 구성되는 메모리 영역을 초기화하는 코드를 삽입하는 메모리 영역 초기화 코드 삽입부;상기 제1 프로그램의 상기 자료구조를 초기화하는 함수를 변환하는 자료구조 초기화 함수 변환부;상기 제1 프로그램의 상기 자료구조를 해제하는 함수를 변환하는 자료구조 해제 함수 변환부;상기 자료구조를 초기화하는 함수가 노드 생성을 위해 호출하는 서브 함수를 변환하는 노드 생성 서브 함수 변환부; 및상기 자료구조를 해제하는 함수가 노드 제거를 위해 호출하는 서브 함수를 변환하는 노드 제거 서브 함수 변환부중 적어도 하나를 포함하는 코드 재생성 장치
|
11 |
11
삭제
|
12 |
12
제10항에 있어서,상기 메모리 영역을 초기화하는 코드는,상기 변환 정보에 포함된 상기 메모리 영역을 식별하기 위한 영역이름이 부여된 상기 메모리 영역을 생성하는 메모리 영역 생성 함수;상기 영역이름이 부여된 메모리 영역을 식별하는 함수; 및상기 메모리 영역 생성 함수가 상기 메모리 영역을 생성하였는지를 식별하여, 상기 메모리 영역이 생성되지 못한 경우, 상기 메모리 영역을 식별하는 함수를 호출하는 조건부 실행 함수를 포함하는 코드 재생성 장치
|
13 |
13
제10항에 있어서,상기 자료구조 초기화 함수 변환부는,상기 변환 정보에 포함된 상기 메모리 영역을 식별하기 위한 영역이름이 부여된 상기 메모리 영역의 루트 노드 주소를 탐지하는 함수를 삽입하는 노드 탐지 함수 삽입부; 및상기 메모리 영역을 초기화하는 코드에서 상기 메모리 영역이 생성되지 않은 경우, 상기 루트 노드 주소를 탐지하는 함수를 호출하는 조건부 실행 함수를 삽입하는 노드 탐지 조건부 실행 코드 삽입부를 포함하는 코드 재생성 장치
|
14 |
14
제10항에 있어서,상기 자료구조 해제 함수 변환부는,상기 제1 메모리에서 상기 자료구조를 해제하는 함수를 식별하는 자료구조 해제 함수 식별부;상기 식별된 상기 자료구조를 해제하는 함수가 호출되지 않도록 비활성화하는 함수 비활성 처리부를 포함하는 코드 재생성 장치
|
15 |
15
제10항에 있어서,상기 노드 생성 서브 함수 변환부는,상기 제2 메모리의 상기 자료구조에 상기 노드를 생성하는 메모리 할당 함수를 삽입하는 제2 메모리 메모리 할당 함수 삽입부; 및상기 제1 메모리의 상기 자료구조에 상기 노드를 생성하는 메모리 할당 함수를 제거하는 제1 메모리 메모리 할당 함수 제거부를 포함하는 코드 재생성 장치
|
16 |
16
제10항에 있어서,상기 노드 제거 서브 함수 변환부는,상기 제2 메모리의 상기 자료구조에서 상기 노드를 제거하는 상기 제2 메모리에 대한 메모리 해제 함수를 삽입하는 제2 메모리 해제 함수 삽입부; 및상기 노드가 할당된 메모리에 따라 메모리 해제 함수를 선택적으로 호출하는 조건부 실행 함수를 삽입하는 메모리 해제 함수 조건부 실행 코드 삽입부를 포함하고,상기 조건부 실행 함수는,상기 노드가 상기 제1 메모리에 할당된 경우, 상기 노드를 제거하는 상기 제1 메모리에 대한 메모리 해제 함수를 호출하고,상기 노드가 상기 제2 메모리에 할당된 경우, 상기 노드를 제거하는 상기 제2 메모리에 대한 메모리 해제 함수를 호출하는 코드 재생성 장치
|
17 |
17
제10항에 있어서,상기 제1 메모리는 휘발성 메모리인 코드 재생성 장치
|
18 |
18
제10항에 있어서,상기 제2 메모리는 비휘발성 메모리인 코드 재생성 장치
|
19 |
19
제1항 및 제3항 내지 제9항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체
|