支持了插件化Module功能 #12
hevake
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
昨天我在cpp-tbox中实现了插件化功能。
该模块位于 modules/run,构建可生成 run 插件运行程序。它实现了通过参数指定要加载的动态库,并执行动态库中的Module的功能。
有了它,我们可以将应用分割成一个个的动态库,独立进行开发。在运行的时候,可以让run进行执行。
一个run可以根据参数同时运行一个或多个Module。就像是一个火车。run就是火车头,动态库就是火车厢。我们不在火车生产(编译)的时候决定它能拉几节车厢(Module),而是放在火车发车之前决定。
以下为分别使用run运行timer_event与echo_server的示例:
![run-module](https://private-user-images.githubusercontent.com/79179087/250937303-caaa4769-7298-4b86-a7a3-3cac0693cac4.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQxMTY5ODgsIm5iZiI6MTcyNDExNjY4OCwicGF0aCI6Ii83OTE3OTA4Ny8yNTA5MzczMDMtY2FhYTQ3NjktNzI5OC00Yjg2LWE3YTMtM2NhYzA2OTNjYWM0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIwVDAxMTgwOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWE4MDU3ZjlhNjI2ZTQzNzkyNTg0ODAzZWM3NWIwMTczNDVkYWIyMTI3NmQ4OTA2Y2ZjMGU0ZTliYmY0OTVmYmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.fvRylvLbA8xjyA-03-xN9y5Ttov2oooeVz-ZxdHrXPo)
实现原理见 module/run/main.cpp。
功能已同步提交到 Github与Gitee,在 develop 分支上。
欢迎使用!
Beta Was this translation helpful? Give feedback.
All reactions