add c++ porting module