C++ 函数优化:提升 get_meet_func_addr_table 和 get_special_func_addr_table 性能
在这个函数中,有两个地方可以进行优化:\n\n1. 返回值类型的优化:可以将返回值类型从vector<addr_map_t>和vector<pair<uint32_t, uint32_t>>改为const vector<addr_map_t>&和const vector<pair<uint32_t, uint32_t>>&,这样可以避免进行拷贝构造和析构函数的调用,提高性能。\n\n2. 函数体的优化:如果m_vec_meet_func_addr和m_ins_special_addr是成员变量,那么可以直接返回成员变量的引用,而不是进行拷贝构造。如果不能直接返回成员变量的引用,可以将m_vec_meet_func_addr和m_ins_special_addr的类型改为const vector<addr_map_t>和const vector<pair<uint32_t, uint32_t>>,然后直接返回成员变量的拷贝,而不需要进行拷贝构造。这样可以减少一次拷贝构造函数的调用。\n\n优化后的代码如下:\n\nconst vector<addr_map_t>& Casm_tiny::get_meet_func_addr_table()\n{\n return m_vec_meet_func_addr;\n}\n\nconst vector<pair<uint32_t, uint32_t>>& Casm_tiny::get_special_func_addr_table()\n{\n return m_ins_special_addr;\n}
原文地址: https://www.cveoy.top/t/topic/qz2F 著作权归作者所有。请勿转载和采集!