나는시를위한 재미있는 도서관을 쓰고 있는데, 나는 내 작업을 고안하는데 어려움이있다. 정적 라이브러리가 하나 있는데 "정적 플러그인"시스템 (이름을 용인하십시오)을 만들고 싶습니다."플러그인"정적 라이브러리에 대한 제안
그래서, 나는 다음과 같은 규칙을 존중 정적 라이브러리 일련 만들 싶습니다
이- 각 도서관이 하나의 객체 (클래스, 또는 무엇이든 필요)를 포함를
- 클래스는 각 배열의 항목의 배열입니다
- 하나 개의 어레이를 포함해야합니다
unsigned char
본질적으로, 나는이 작업에서시 목록을 제공하는 일련의 도서관을 만들고 싶습니다. 그래서 각 도서관에는 한 저자의 시가 있습니다.
이제 내가 필요한 부분은 다음과 같습니다. 라이브러리 사용자 은 필요한 정적 플러그인과 기본 라이브러리를 연결합니다. 이와 함께, 사용자는이 간단한 예에서와 같이 콘솔에시의 전체 저장소를 인쇄 할 수 있습니다 :
#include "poems.hpp"
int main(int argc, const char * argv[])
{
poems p;
p.dump(">>> Dumping poems");
return 0;
}
모든 프로세스가 링크 시간에 처리됩니다
$ clang++ a.cpp libpoems.a libplugin_coleridge.a
$ ./a.out
>>> Dumping poems
The Rime of the Ancient Mariner
It is an ancient Mariner,
And he stoppeth one of three.
[...]
Kubla Khan
In Xanadu did Kubla Khan
A stately pleasure-dome decree:
[...]
또는 대체에
$ clang++ a.cpp libpoems.a libplugin_shelley.a
$ ./a.out
>>> Dumping poems
Ozymandias
O wild West Wind, thou breath of Autumn's being,
Thou, from whose unseen presence the leaves dead
[...]
Ode To The West Wind
O wild West Wind, thou breath of Autumn's being,
Thou, from whose unseen presence the leaves dead
[...]
poem.hpp
에서 외부 객체 또는 이와 유사한 객체에 대한 호출을 포함하는 클래스 또는 유사 항목을 만들 수 있다고 가정합니다.
힌트를 환영합니다.
그래서 덤프를 수행하는 라이브러리의 함수를 각 라이브러리의 동일한 이름으로 지정하고 링커에서 확인합니다. 그래서 여기서 질문은 무엇입니까? –
함수 일뿐만 아니라 덤프에 필요한 모든 데이터 또는 가치있는 것, 다른 모든 기능 (예 :시 검색). – senseiwa