본문 바로가기
내가만드는것_만든것/오픈소스

[JsCPPBean] C++에서 Java Bean 구현하는 라이브러리

by Joseph.Lee 2019. 4. 12.

JsCPPBean는 C++에서 Bean과 Autowired를 구현해주는 라이브러리 입니다.

전역 프로그램에서 사용되는 클래스를 일일히 선언하고 공통 헤더파일을 가져오고.. 또 공통헤더가 바뀌면 컴파일 엄청 오래 걸리고.. 하는 문제를 해결할 수 있으며 Java스러운 코딩이 가능합니다.

JsCPPBean 라이브러리 : https://github.com/jc-lab/JsCPPBean
테스트 코드 솔루션(VS) : https://github.com/jc-lab/JsCPPBeanTest

예제(일부)

#include "MainProcess.h"

#include <stdio.h>

JSCPPBEAN_BEAN_BEGIN(MainProcess)
JSCPPBEAN_BEAN_AUTOWIRED(MainProcess, ChildService, m_child)
JSCPPBEAN_BEAN_AUTOWIRED(MainProcess, ParentService, m_parent)
JSCPPBEAN_BEAN_END()

class TestClass {
public:
    int b;
};

void MainProcess::run()
{
    printf("[MainProcess] TestClass : %s / %d\n", typeid(TestClass).name(), typeid(TestClass).hash_code());

    printf("ChildProcess[MainProcess] : %s\n", typeid(ChildService).raw_name());
    printf("ChildProcess[MainProcess] : %s\n", typeid(ChildService).name());
    printf("ChildProcess[MainProcess] : %d\n", typeid(ChildService).hash_code());

    printf("MainProcess::run\n");
}
반응형

댓글