能力值:
( LV2,RANK:10 )
|
-
-
2 楼
'alac', 'lpcm'这是啥? 楼主写错了吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
jmzqwh
'alac', 'lpcm'这是啥?
楼主写错了吧。
github的alac源代码,开源的。代码就是这么写的?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
enum class MyVar : char { kALACFormatAppleLossless = 'alac', kALACFormatLinearPCM = 'lpcm' }; 但是感觉也只能支持 'a' <----- 一个字符啊,虽然多个可以编译过,但是会错乱
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
柒雪天尚
enum class MyVar : char
{
kALACFormatAppleLossless = 'alac',
kALACFormatLinearPCM = 'lpc ...
编译能生成obj,完全链接不过去。感觉是C++11以后的标准。 gcc 4.80过不去。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
柒雪天尚
enum class MyVar : char
{
kALACFormatAppleLossless = 'alac',
kALACFormatLinearPCM = 'lpc ...
有没有gcc 只是c++ 14标准的,支持c++17,支持C++20的,我一个个去试。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
试了一下,VS可以写成 auto asd = 'lala';代表是一个int类型。 楼主报错可能是编译器原因吧,以前没见过这个写法就武断认为不对很抱歉,总之写法是不安全写法,直接改成数字不可以么。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
这个是alac源码里面截取的,kALACFormatAppleLossless 判断了 音轨的 id , 似乎是 C++的新标准
if (theInputFormat->mFormatID == kALACFormatAppleLossless) { theInputFormat->mBytesPerFrame = 0; } else { theInputFormat->mBytesPerFrame = theInputFormat->mBytesPerPacket; if ((theInputFormat->mFormatFlags & 0x02) == 0x02) { theInputFormat->mFormatFlags &= 0xfffffffc; } else { theInputFormat->mFormatFlags |= 0x02; }
}
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
jmzqwh
试了一下,VS可以写成 auto asd = 'lala';代表是一个int类型。
楼主报错可能是编译器原因吧,以前没见过这个写法就武断认为不对很抱歉,总之写法是不安全写法,直接改成数字不可以么。
哦哦,有点道理,'abcd'的话,确实是隐式 int
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
limee
有没有gcc 只是c++ 14标准的,支持c++17,支持C++20的,我一个个去试。
嗯,14不知道,17有看到提过
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
我再继续补充吧,刚才换了gcc 7.1和gcc8.3都是报一个错误。
|
能力值:
( LV4,RANK:50 )
|
-
-
12 楼
很老的定义了,不过一般不这么写,都是自己展开写成hex 实在编不过,就修改下代码, 'alac' 改成 0x616c6163 ,lpcm = 0x6c70636d
|
|
|