typedef enum与typedef struct分别是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typedef enum与typedef struct分别是啥意思相关的知识,希望对你有一定的参考价值。

比如:
typedef enum
DWI_Nothing,
DWI_2x2Icon,
DWI_Icon,
DWI_Text,
DWI_FullText,
DWI_CenterText,
DWI_FullCenterText,
DWI_None
DrawMenuItemType;
是表示什么?
typedef struct
BYTE Flags;
BYTE XPos, YPos;
fpGetValue GetValue;
NumberType;
是什么意思?
谢谢

typedef enum表示定义了一个枚举型的数据结构,你可以用题目中的DrawMenuItemType去定义变量,这个变量的取值就是
DWI_Nothing,
DWI_2x2Icon,
DWI_Icon,
DWI_Text,
DWI_FullText,
DWI_CenterText,
DWI_FullCenterText,
DWI_None中的一个,这些你都可以自己取值。默认为零,其后面的依次加1。如果你给DWI_Nothing取其它值,相应的它后面的没有显示赋值的就要在这个基础上依次加1,直到遇到显示赋值的为止。

typedef struct也是定义了一种数据结构,这个数据结构包含多个数据项,如题,你可以利用NumberType去定义变量。
参考技术A enum,枚举常量
相当于定义DWI_Nothing = 0, 后面的累加

struct,结构体。定义了一个新的复合类型,包含了多个变量

react-native 无法构建 ios:(错误 xcode Flipper)Typedef 重新定义不同类型('uint8_t'(又名'unsigned char')与'enum clockid_

【中文标题】react-native 无法构建 ios:(错误 xcode Flipper)Typedef 重新定义不同类型(\'uint8_t\'(又名\'unsigned char\')与\'enum clockid_t\')【英文标题】:react-native can't build ios: (error xcode Flipper) Typedef redefinition with different types ('uint8_t' (aka 'unsigned char') vs 'enum clockid_t')react-native 无法构建 ios:(错误 xcode Flipper)Typedef 重新定义不同类型('uint8_t'(又名'unsigned char')与'enum clockid_t') 【发布时间】:2021-08-30 08:56:09 【问题描述】:

我的目标是运行一个 react native build(ios 版本)。

情况1

操作:启动地铁(ok) 构建 ios。 问题:构建失败,退出代码为 1。
(CompileC /Users/macbook/Library/Developer/Xcode/DerivedData/NAME_OF_PROJECT-gxlagomyefvmjkdemiakcfycxnhx/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Flipper.build/Objects-normal/x86_64/FlipperRSocketResponder.o /Users/macbook/Documents/work/omg/mobile/ios/Pods/Flipper/xplat/Flipper/FlipperRSocketResponder.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler)

情况2

操作:构建 ios。 问题:鳍状肢::Typedef redefinition with different types ('uint8_t' (aka 'unsigned char') vs 'enum clockid_t'

版本

xcode 12.5 版 iOS 9+ iphone 12

我尝试了一些无效的操作:

    solution 1

    solution 2

    重新安装所有 pod

    更新所有 pod

    重新克隆项目

    rm -Rf Pods/* pod 缓存清理 --all pod 安装

以及其他一些小修复。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

如下更改Podfile

  post_install do |installer|
    react_native_post_install(installer)
    __apply_Xcode_12_5_M1_post_install_workaround(installer)
    `sed -i -e  $'s/__IPHONE_10_0/__IPHONE_12_0/' Pods/RCT-Folly/folly/portability/Time.h`
  end

运行 pod install 就可以了!

【讨论】:

【参考方案2】:

当我尝试在 ios 模拟器上运行第一个 react-native 项目时,我也遇到了同样的问题。

clockid_t

clockid_t 是您系统之一的一部分。该错误实际上是重新定义clockid_t两次。

clockid_t 重命名为其他名称解决了我的问题。 我将它从clockid_t重命名为clockid_tt,然后我的项目运行顺利。

因为我是一个新手 react-native 开发者,我不确定这个解决方案是否会在我的 react-native 项目中产生任何未来的问题。此解决方案尚未遇到任何问题。

【讨论】:

以上是关于typedef enum与typedef struct分别是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

枚举类型 typedef enum....; enum....; 这两个的区别

C语言 enum和typedef enum的区别

@class for typedef enum?

enum sizeof typedef分析

typedef enum的用法(枚举)

react-native 无法构建 ios:(错误 xcode Flipper)Typedef 重新定义不同类型('uint8_t'(又名'unsigned char')与'enum clockid_