小编glu*_*k47的帖子

像Cocoa中的__LP64__和__arm64__那样存在什么定义可以在编译时区分平台?他们在哪里或如何定义?

通过引入arm64作为iphoneos平台的标准体系结构,在某些情况下,必须为特定于64/32体系结构的代码实现编译时条件.

如果你看看CoreGraphics/CGBase.h以及一些流行的开源项目如何为arm64提供支持,很明显你可以检查是否存在64位运行时,如下所示:

#if defined(__LP64__) && __LP64__
...
#else
...
#endif
Run Code Online (Sandbox Code Playgroud)

也可以专门检查arm64(而不是仅仅64位运行时),如针对erikdoe/ocmock的此修复程序中所述

#ifdef __arm64__
...
#else
....
#endif
Run Code Online (Sandbox Code Playgroud)

这些定义是否有完整的清单或文档?他们在哪里或如何定义?

c 64-bit objective-c clang ios

12
推荐指数
1
解决办法
6540
查看次数

具有重复值的枚举的GetName

如果我在C#枚举中有重复的值,说

enum MyE {
  value1 = 1,
  value2 = 2,
  valued = 1
}
Run Code Online (Sandbox Code Playgroud)

以下字符串的值应该是多少?

MyE N = (MyE)1;
string V1 = N.ToString();
string V2 = GetName(MyE, 1);
Run Code Online (Sandbox Code Playgroud)

V1和V2必须包含相同的值吗?这些价值应该是什么?

我没有在MSDN中找到任何内容,或者这里有关于复制的枚举的"解除引用",请指出我的链接,如果我错过了.

c#

11
推荐指数
1
解决办法
2765
查看次数

枚举值的算术运算

c#枚举支持哪些算术运算?令人惊讶的是,我无法通过谷歌,维基百科和stackoverflow找到它.

我可以添加两个枚举值而不进行任何强制转换吗?将任意常量添加到某个值或减去它?或枚举是否保证该类型的值始终是定义的枚举值或其位掩码之一?

class ... {...
enum WeekDays : byte { Sun = 1, Mon = 2, Tue = 3, /* and so on*/ Sat = 7 };
public static bool IsWeekend (WeekDays _d) {
/// Can I be sure here that _d has value from 1..7? May it be any of 0..255?
}
Run Code Online (Sandbox Code Playgroud)

我知道按位操作,支持它们表示标志似乎是合理的.

维基百科告诉我们,我的样本也允许_d - 1或者WeekDays.Tue - WeekDays.Mon,对于严格排序的顺序枚举可能有用,但我找不到任何标准参考,请问,请指点我?

.net c# enums

5
推荐指数
2
解决办法
4804
查看次数

PyYaml将'9:00'解析为int

我有一个包含以下数据的文件:

classes:
  - 9:00
  - 10:20
  - 12:10
Run Code Online (Sandbox Code Playgroud)

(等到21:00)

我使用python3和yaml模块来解析它.确切地说,来源是config = yaml.load (open (filename, 'r')).但是,当我print config,我得到这部分数据的以下输出:

'classes': [540, 630, 730, 820, 910, 1000, 1090, 1180],
Run Code Online (Sandbox Code Playgroud)

列表中的值是整数.

以前,当我使用python2(和BaseLoaderYAML)时,我将值作为字符串,我就这样使用它们.BaseLoader现在不能接受,因为我想从文件中读取unicode字符串,它给我字节字符串.

那么,首先,为什么pyyaml会将我的数据解析为整数?

其次,我如何防止pyyaml这样做?是否可以在不更改数据文件的情况下执行此操作(例如,不添加!!str)?

yaml pyyaml python-3.x

4
推荐指数
1
解决办法
1123
查看次数

chrome.alarms返回undefined

早上好,巫师们.

我正在尝试编写chrome-browser的扩展程序.铬的版本是18.0.1025.151 (development build 130497 Linux) Built on Ubuntu 12.04, running on Ubuntu 12.10

我的操作系统是ubuntu GNU/Linux 12.04.1(LTS),64位.

问题是:我不能用chrome.alarms.访问此变量时,我得到'undefined'.

我的一部分manifest.json:

  "background": {
      "scripts": ["background.js"]
    },
  "permissions": [
    "alarms",
    "tabs",
    "http://*/*"
  ],
Run Code Online (Sandbox Code Playgroud)

我的一部分background.js:

chrome.alarms.onAlarm.addListener(function(alarm) {
    if (! alarm.name.match ('/^extension47_.*/'))
        return;
    alert ('extension47 fired an alarm!');
});
Run Code Online (Sandbox Code Playgroud)

我得到了什么:

Uncaught TypeError: Cannot read property 'onAlarm' of undefined
Run Code Online (Sandbox Code Playgroud)

在线chrome.alarms.onAlarm.addListener.

当我从扩展页面进入铬控制台时,自动完成表明我没有chrome.alarms.显然,当我在那里打字时chrome.alarms,我真的得到了undefined.为什么这样?..

我完全陷入困境,未能在互联网上的任何地方找到解决方案,我做错了什么?

google-chrome-extension

3
推荐指数
2
解决办法
1640
查看次数

JUNIT ant脚本上的ClassNotFoundException

我用JUnit 4和Selenium编写了很少的测试脚本.我已经将JUnit和Selenium的jar文件添加到eclipse中,如果我通过eclipse IDE运行我的测试,一切都按预期工作.

我现在正尝试通过下面的ant脚本运行这些测试:

<project name="JUnit" default="test">

    <property name="src" value="./src" />
    <property name="classes" value="./classes" />
    <property name="test.class.name" value="AllTests" />

    <path id="test.classpath">
      <pathelement location="${classes}" />
      <pathelement location="C:/Program Files/eclipse 3.5/plugins/org.junit4_4.5.0.v20090824/junit.jar" />
      <pathelement location="C:/selenium/selenium-server-standalone-2.0b2.jar" />
      <pathelement location="C:/Program Files/eclipse 3.5/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar" />
    </path>

    <target name="test">
      <junit fork="yes" haltonfailure="yes">
        <test name="${test.class.name}" />
        <formatter type="plain" usefile="false" />
        <classpath refid="test.classpath" />
      </junit>
    </target>

</project>
Run Code Online (Sandbox Code Playgroud)

问题是当我运行这个ant脚本时,我得到以下异常:

[junit] java.lang.ClassNotFoundException: AllTests
[junit]     at java.net.URLClassLoader$1.run(Unknown Source)
[junit]     at java.security.AccessController.doPrivileged(Native Method)
[junit]     at java.net.URLClassLoader.findClass(Unknown Source)
[junit]     at java.lang.ClassLoader.loadClass(Unknown Source)
[junit]     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) …
Run Code Online (Sandbox Code Playgroud)

ant junit selenium

0
推荐指数
1
解决办法
4160
查看次数

如何重复空格

我想获得一个像下面这样的字符串:

[==== ]

为此我使用此代码:

'[' + '='.repeat (4) + ' '.repeat (4) + ']'
Run Code Online (Sandbox Code Playgroud)

......但我得到了[==== ]; 也就是说,所有空间都被压成一个.我在谷歌Chrome控制台中检查了这段代码,确实' '.repeat(25)只生成了一个空格.我该怎么做repeat制作多个空间呢?

我在手册中找不到任何相关内容.

javascript google-chrome

0
推荐指数
1
解决办法
1690
查看次数