提交 e3987f2d 编写于 作者: X xzl

modify Message to MessageLite

上级 e66f02f0
...@@ -12,19 +12,21 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ...@@ -12,19 +12,21 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. */ limitations under the License. */
#include <google/protobuf/text_format.h>
#include <google/protobuf/util/message_differencer.h> #include <google/protobuf/util/message_differencer.h>
#include <fstream> #include <fstream>
#include <iostream> #include <iostream>
#include "TrainerConfig.pb.h" #include "TrainerConfig.pb.h"
bool loadPb(google::protobuf::Message* conf, const std::string& filename) { using google::protobuf::MessageLite;
using google::protobuf::Message;
bool loadPb(MessageLite* conf, const std::string& filename) {
std::ifstream fin; std::ifstream fin;
fin.open(filename.c_str()); fin.open(filename.c_str());
if (fin.is_open()) { if (fin.is_open()) {
std::string str((std::istreambuf_iterator<char>(fin)), std::string str((std::istreambuf_iterator<char>(fin)),
std::istreambuf_iterator<char>()); std::istreambuf_iterator<char>());
bool ok = google::protobuf::TextFormat::ParseFromString(str, conf); bool ok = conf->ParseFromString(str);
fin.close(); fin.close();
return ok; return ok;
} else { } else {
...@@ -33,8 +35,8 @@ bool loadPb(google::protobuf::Message* conf, const std::string& filename) { ...@@ -33,8 +35,8 @@ bool loadPb(google::protobuf::Message* conf, const std::string& filename) {
} }
int main(int argc, char** argv) { int main(int argc, char** argv) {
std::unique_ptr<google::protobuf::Message> config1; std::unique_ptr<MessageLite> config1;
std::unique_ptr<google::protobuf::Message> config2; std::unique_ptr<MessageLite> config2;
if (argc == 3) { if (argc == 3) {
config1.reset(new paddle::ModelConfig()); config1.reset(new paddle::ModelConfig());
config2.reset(new paddle::ModelConfig()); config2.reset(new paddle::ModelConfig());
...@@ -50,7 +52,8 @@ int main(int argc, char** argv) { ...@@ -50,7 +52,8 @@ int main(int argc, char** argv) {
return 3; return 3;
} else { } else {
if (google::protobuf::util::MessageDifferencer::ApproximatelyEquals( if (google::protobuf::util::MessageDifferencer::ApproximatelyEquals(
*config1, *config2)) { *reinterpret_cast<Message*>(config1.get()),
*reinterpret_cast<Message*>(config2.get()))) {
return 0; return 0;
} else { } else {
return 4; return 4;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册