问题列表 - 第29581页

如何创建一个扩展为“(x+y*240)*2”之类的表达式的 GNU GAS 宏?

我正在使用 GAS 为 ARM Linux 构建程序,但我想做一些宏以使我的开发更加智能。那我想知道:

我怎么能为此做一个宏:(x+y*240)*2, wasxyare int,它将像这样使用:

mov r0, MACRO_SHOULD_BE_CALLED_HERE
Run Code Online (Sandbox Code Playgroud)

我怎么能做一个应该像这样调用的宏:

JUST_MACRO_CALLED_HERE_TO_DO_SOMETHING
Run Code Online (Sandbox Code Playgroud)

这只会做一些已经在其中定义的事情,例如打印功能。

另外,如果我需要宏或函数调用的一些参数。我怎么能做到?

PS:r0是一个ARM寄存器,比如eaxx86

macros assembly gnu-assembler

5
推荐指数
1
解决办法
1万
查看次数

使用自定义属性解析来提升精神规则

我正在编写一个Boost Spirit语法来将文本解析为这些结构的向量:

struct Pair
{
    double a;
    double b;
};

BOOST_FUSION_ADAPT_STRUCT(
    Pair,
    (double, a)
    (double, a)
)
Run Code Online (Sandbox Code Playgroud)

这个语法有这样的规则:

qi::rule<Iterator, Pair()> pairSequence;
Run Code Online (Sandbox Code Playgroud)

但是,实际的语法pairSequence是这样的:

double_ % separator
Run Code Online (Sandbox Code Playgroud)

我想这个语法产生一个Pair具有a等于双层并b等于某个常数.我想做这样的事情:

pairSequence = double_[_val = Pair(_1, DEFAULT_B)] % separator;
Run Code Online (Sandbox Code Playgroud)

当然,上面没有编译.我尝试添加一个构造函数Pair,但我仍然得到编译错误(没有匹配函数调用'Pair :: Pair(const boost :: phoenix :: actor>&,double)').

attributes boost boost-spirit boost-phoenix boost-spirit-qi

3
推荐指数
1
解决办法
1727
查看次数

是否可以并行运行两个版本的 Python?

我已经学习 Python 几个星期了,虽然我已经成功地使用 Python 2.6.5 为 Google App Engine 开发了应用程序,但它特别需要 Python 2.5。

上传应用程序时要注意兼容性问题(这是我在学习 Python 时宁愿避免的情况),我想知道是否可以在同一台计算机上安装 2.5 和 2.6.5。理想情况下,我想使用 2.6.5 作为默认值,并将 GAE 配置为以某种方式使用 2.5。

python google-app-engine

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

什么是决策树的优秀Python库?

除非我遗漏了什么,否则通常的嫌疑人都没有这个......

python decision-tree

14
推荐指数
2
解决办法
1万
查看次数

参数类型+函数需要一个字符串作为第二个参数?

class TestClass[T](val x: T) { def +(other: TestClass[T]) = x + other.x }

这个定义给了我以下编译错误:

错误:类型不匹配;
found:T
required:String
def +(其他:TestClass [T])= x + other.x

是不是可以使用Int或Double作为类型参数并在Scala中使用添加?

types scala type-mismatch type-parameter

2
推荐指数
1
解决办法
826
查看次数

62
推荐指数
4
解决办法
7万
查看次数

Python字典中的项目排序

我很怀疑...我创建了以下字典:

>>> alpha={'a': 10, 'b': 5, 'c': 11}
Run Code Online (Sandbox Code Playgroud)

但是,当我想看到我得到的字典键和值时:

>>> alpha
{'a': 10, 'c': 11, 'b': 5}
Run Code Online (Sandbox Code Playgroud)

看到"b"和"c"交换了他们的位置.如何使位置与创建字典时的位置相同?

python dictionary

5
推荐指数
1
解决办法
564
查看次数

为什么PendingIntent不会为Intent发回我的自定义Extras设置?

这个问题在某种程度上与我想要在startActivityForResult中获得额外内容的问题有关,但现在我面临另一个挑战.

我已订阅接收ProximityAlerts,我已明确构建Intent以包含一些Extras.但是当我得到服务时,额外的东西不存在.

这里的答案是工作代码:

Intent intent = new Intent(this, PlacesProximityHandlerService.class);
intent.setAction("PlacesProximityHandlerService");
intent.putExtra("lat", objPlace.getLat());
intent.putExtra("lon", objPlace.getLon());
intent.putExtra("error_m", objPlace.getError()+ALERT_RANGE_IN_METERS);
PendingIntent sender=PendingIntent.getService(this, 0, intent, 0);
LocationUtils.addProximity(this, objPlace.getLat(), objPlace.getLon(),objPlace.getError()+ALERT_RANGE_IN_METERS, -1, sender);
Run Code Online (Sandbox Code Playgroud)

文档说param PendingIntent to be sent for each location update

android extras android-intent

34
推荐指数
3
解决办法
1万
查看次数

Unix - 文件创建日期

对于作业,我需要确定随机文件的创建时间.据我所知,Unix不存储创建时间(与*-BSD相反).我想我已经读过某个地方,你应该要求修改时间,但我不知道在哪里,并要求谷歌不给我一个非暧昧的回答者.

有任何想法吗?

bash shell

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

C++浮点到int

也许,这是一个非常简单的问题,但我无法得到答案.我已经搜索了很长一段时间(现在谷歌认为我正在发送自动查询http://twitter.com/michaelsync/status/17177278608)..

int n = 4.35 *100;
cout << n;
Run Code Online (Sandbox Code Playgroud)

为什么输出变为"434"而不是"435"?4.35*100 = 435这是一个整数值,这应该可以分配给整数变量"n",对吗?

或者C++编译器在乘法之前是否将4.35转换为整数?我认为不会.为什么编译器会自动将4.35更改为4.34,这仍然是一个浮点数?

谢谢.

c++

17
推荐指数
2
解决办法
4万
查看次数