|  | 
| 本帖最后由 wintoflash 于 2021-6-19 19:34 编辑 
 ADDR_RET_STR 有点问题啊。
 
 复制代码char uefi_ver[11];
  efi_system_table_t *st = grub_efi_system_table;
  grub_uint16_t uefi_major_rev = st->hdr.revision >> 16;
  grub_uint16_t uefi_minor_rev = st->hdr.revision & 0xffff;
  grub_uint8_t uefi_minor_1 = uefi_minor_rev / 10;
  grub_uint8_t uefi_minor_2 = uefi_minor_rev % 10;
  sprintf (uefi_ver, "%u.%u", uefi_major_rev, uefi_minor_1);
  if (uefi_minor_2)
    sprintf (uefi_ver, "%s.%u", uefi_ver, uefi_minor_2);
  printf ("%s\n", uefi_ver);
  ADDR_RET_STR = uefi_ver;
  return 1;
报错:
 ver.c:42:16: error: lvalue required as left operand of assignment
 ADDR_RET_STR = uefi_ver;
 ^
 
 -------------------
 这个东西是怎么用的?没效果啊?
 
 复制代码static int main(char *arg,int key)
{
  get_G4E_image();
  if (! g4e_data)
    return 0;
  unsigned long var = 0x12345678;
  return sprintf (ADDR_RET_STR, "0x%lx", var);
}
   | 
 |