奇怪的NOOP惯例?

时间:2013-04-30 01:15:43

标签: c pebble-watch

我正在浏览一个模板(在cloudpebble.net上),用于构建Pebble表盘并遇到此代码:

void handle_minute_tick(AppContextRef ctx, PebbleTickEvent *t) {
  (void)t; // NOOP?
  (void)ctx; // NOOP?

  display_time(t->tick_time);
}


void handle_init(AppContextRef ctx) {
  (void)ctx; // NOOP?

  window_init(&window, "Big Time watch");
  window_stack_push(&window, true);
  window_set_background_color(&window, GColorBlack);

  resource_init_current_app(&APP_RESOURCES);

  // Avoids a blank screen on watch start.
  PblTm tick_time;

  get_time(&tick_time);
  display_time(&tick_time);
}


void handle_deinit(AppContextRef ctx) {
  (void)ctx; // NOOP?

  for (int i = 0; i < TOTAL_IMAGE_SLOTS; i++) {
    unload_digit_image_from_slot(i);
  }

}

我指示的线路用于什么目的?

1 个答案:

答案 0 :(得分:10)

这些行的唯一目的是使-Wunused-parameter之类的编译器警告静音。请注意,这些变量不会在函数体中的任何位置使用;将它们转换为void基本上告诉编译器这是故意的。