问题列表 - 第20448页

什么是应用程序二进制接口(ABI)?

我从未明白ABI是什么.请不要指向维基百科的文章.如果我能理解它,我就不会在这里张贴这么长的帖子.

这是我对不同界面的看法:

电视遥控器是用户和电视之间的接口.它是一个现有实体,但本身无用(不提供任何功能).遥控器上每个按钮的所有功能都在电视机中实现.

接口:它是间"现有实体"层 functionalityconsumer的该功能.接口本身不起作用.它只是调用后面的功能.

现在取决于用户是谁,有不同类型的接口.

命令行界面(CLI)命令是现有实体,消费者是用户和功能所在.

functionality: 我的软件功能解决了我们描述这个界面的一些目的.

existing entities: 命令

consumer: 用户

图形用户界面(GUI)窗口,按钮等是现有实体,消费者再次是用户和功能所在.

functionality: 我的软件功能解决了我们描述这个界面的一些问题.

existing entities: 窗口,按钮等..

consumer: 用户

应用程序编程接口(API)函数(或更正确的)接口(在基于接口的编程中)是现有实体,这里的消费者是另一个程序而不是用户,并且该层后面的功能也是如此.

functionality: 我的软件功能解决了我们描述这个界面的一些问题.

existing entities: 函数,接口(函数数组).

consumer: 另一个程序/应用程序

应用程序二进制接口(ABI)这是我的问题开始的地方.

functionality: ???

existing entities: ???

consumer: ???

  • 我用不同的语言编写了软件并提供了不同类型的接口(CLI,GUI和API),但我不确定我是否提供过任何ABI.

维基百科说:

ABI涵盖了诸如此类的详细信息

  • 数据类型,大小和对齐方式;
  • 调用约定,它控制函数参数的传递方式并返回检索的值;
  • 系统调用号码以及应用程序应如何向操作系统进行系统调用;

其他ABI标准化细节,如

  • C++名称错误,
  • 异常传播,和
  • 在同一平台上调用编译器之间的约定,但不需要跨平台兼容性.
  • 谁需要这些细节?请不要说操作系统.我知道汇编编程.我知道链接和加载是如何工作的.我确切地知道里面发生了什么.

  • 为什么C++名称输入?我以为我们正在谈二进制.语言为什么会进来?

无论如何,我已经下载了[PDF] System V Application Binary Interface Edition 4.1(1997-03-18),看看它究竟包含了什么.好吧,大部分都没有任何意义.

  • 为什么它包含两章(第4和第5章)来描述ELF文件格式?实际上,这些是该规范中仅有的两个重要章节.其余章节是"处理器特定的".无论如何,我认为这是一个完全不同的话题.请不要说ELF文件格式规范 ABI.根据定义,它不符合接口的条件.

  • 我知道,因为我们谈论的水平很低,所以必须非常具体.但我不确定它是如何"指令集架构(ISA)"具体的?

  • 我在哪里可以找到Microsoft Windows的ABI?

所以,这些是困扰我的主要问题.

compiler-construction api binary operating-system abi

444
推荐指数
11
解决办法
10万
查看次数

将变量声明为"Class"数据类型,而不调用"Class"构造函数?

请原谅我,如果我只是公然缺少某些东西,但我正在尝试从结构和c转换为类和c ++.

继承人我正在做的事情:

A有一个"Checkers"类和一个"Board"类.

现在使用结构,我可以通过执行以下操作在我的"board.cpp"文件中创建一个Checkers数组:

Checker checkers[2][12]

(每边0和1,每件0-11)

问题是,对于类,执行相同的声明将尝试调用"Checkers"构造函数.我收到此错误:"错误:没有匹配函数调用'Checker :: Checker()'"

我的Checker构造函数处理初始化单个部分(如果它在0或1侧,0-11部分),所以我不打算在那里调用它.

有没有办法避免这种情况,或者我是否采取了错误的方式?谢谢.

编辑:或者我可能只是设计构造函数来初始化一个检查器数组?你甚至可以将变量声明为类/对象的数据类型吗?

c++ constructor class

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

在使用Jails时从Rails变量中转义引号?

尝试在javascript代码中使用rails变量时遇到问题.

例如,我可以使用参数定义link_to_remote :complete => "alert('my_var');"

如果my_var = "I'm testing.",则javascript代码将因单引号过早关闭代码而中断.如果我尝试使用escape_javascript(my_var)以便引用该引用\',则似乎无法解决问题.

我注意到,当你尝试alert('I\'m testing');有一个问题,但如果你这样做alert('I\\'m testing'),它的工作原理.由于escape_javascript只转'\',而不是\\',是否有人对如何处理这一建议?

谢谢!埃里克

javascript quotes escaping ruby-on-rails

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

CodeIgniter PHP框架 - 需要获取查询字符串

我正在使用CodeIgniter创建一个电子商务网站.

我该如何获取查询字符串?

我正在使用Saferpay支付网关.网关响应将如下所示:

http://www.test.com/registration/success/?DATA=<IDP+MSGTYPE%3D"PayConfirm"+KEYID%3D"1-0"+ID%3D"KI2WSWAn5UG3vAQv80AdAbpplvnb"+TOKEN%3D"(unused)"+VTVERIFY%3D"(obsolete)"+IP%3D" 123.25.37.43"+IPCOUNTRY%3D"IN"+AMOUNT%3D"832200"+CURRENCY%3D"CHF"+PROVIDERID%3D"90"+PROVIDERNAME%3D"Saferpay+Test+Card"+ACCOUNTID%3D"99867-94913159"+ECI%3D"2"+CCCOUNTRY%3D"XX"%2F>&SIGNATURE=bc8e253e2a8c9ee0271fc45daca05eecc43139be6e7d486f0d6f68a356865457a3afad86102a4d49cf2f6a33a8fc6513812e9bff23371432feace0580f55046c
Run Code Online (Sandbox Code Playgroud)

要处理响应,我需要获取查询字符串数据.


对不起,我没有清楚地解释这个问题.我在收到付款后从付款网站获得回复时收到"找不到页面"错误.

我曾尝试与启用uri_protocol = 'PATH_INFO',并enable_query_strings = 'TRUE'config.php.谷歌搜索我发现如果我使用htaccess重写这将无法正常工作.

我已经尝试更改配置条目,但它不起作用.

php frameworks codeigniter

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

python-tz我错了还是个bug

有点奇怪的是,当我想通过pytz获得欧洲/巴黎的时区时,它会让我进入PMT时区而不是GMT + 1,这似乎适用于欧洲/柏林.

不清楚 ?那么看看这个片段:

#!/usr/bin/python
import os
import datetime
from pytz.tzfile import build_tzinfo

base='/usr/share/zoneinfo/'
tz = build_tzinfo('Europe/Paris',
                  open(os.path.join(base,'Europe','Paris'), 'rb'))
fmt = '%Y-%m-%d %H:%M:%S %Z%z'
print datetime.datetime(2009, 01, 30, 9, 00, tzinfo=tz).strftime(fmt)

tz = build_tzinfo('Europe/Berlin',
                  open(os.path.join(base,'Europe','Berlin'), 'rb'))

print datetime.datetime(2009, 01, 30, 9, 00, tzinfo=tz).strftime(fmt)
Run Code Online (Sandbox Code Playgroud)

输出是:

2009-01-30 09:00:00 PMT+0009
2009-01-30 09:00:00 CET+0100
Run Code Online (Sandbox Code Playgroud)

当真正的巴黎应该也是CET + 1.

从datetime.datetime.now(tz)构造无论如何都能得到正确的结果.

有人有想法吗?

python timezone

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

如何使用Inno Setup使用.sql脚本更新数据库

我想编译一个使用用户提供的凭据连接到远程数据库的设置,然后使用.sql脚本安装几个db组件.

可以使用Inno Setup吗?

更多细节:

我想要一个自定义表单,要求用户输入数据库地址和凭据,然后运行一个命令,该命令将执行将更新远程数据库服务器的sql脚本.

如果更新成功 - 请成功完成安装.

这是一个相当笼统的问题 - 我有很多自定义设置应该连接到不同的服务器/运行不同的脚本 - 我们的想法是构建一个提供此功能的通用表单.

sql inno-setup

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

将文件夹从iPhone Resources目录复制到文档目录

BOOL success;
NSFileManager *fileManager = [[NSFileManager defaultManager]autorelease];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory,
                                                      NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *documentDBFolderPath = [documentsDirectory stringByAppendingPathComponent:@"DB"];
success = [fileManager fileExistsAtPath:documentDBFolderPath];

if (success){
 return;
}else{
 NSString *resourceDBFolderPath = [[[NSBundle mainBundle] resourcePath]
                                         stringByAppendingPathComponent:@"DB"];
 [fileManager createDirectoryAtPath: documentDBFolderPath attributes:nil];
    [fileManager copyItemAtPath:resourceDBFolderPath toPath:documentDBFolderPath           
                                                                         error:&error];
 }
}
Run Code Online (Sandbox Code Playgroud)

像这样.

Resources/DB/words.csv => DB folder copy => Document/DB/words.csv

我想在Resources文件夹中复制DB子目录.我认为这个来源很好.但该源创建文件夹,不会复制Resources文件夹中DB文件夹中的文件.

我真的想复制Resources文件夹中DB文件夹中的文件.请帮我.

iphone objective-c

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

如何在django中创建命名锚点以获取页面的特定部分

我正在创建一个"Q&A"网站.在问题页面上可以看到它的所有答案(带分页).我还需要从其他页面直接回答(在页面中).我已经尝试实现命名锚点但无法直接到页面部分.

答案的get_absolute_url()以下列形式返回url:

www.example.com/question-id/question-slug?page=no#aID <!-- EDITED -->
Run Code Online (Sandbox Code Playgroud)

一个示例网址:

www.example.com/question-10/what-is-this?page=2#a20   <!-- EDITED -->
Run Code Online (Sandbox Code Playgroud)

并在HTML中:

    {% autopaginate answers 10 %}
    {% for answer in answers %}
      <div>
        <a name="a{{answer.id}}">Answer</a> <!-- EDITED -->
        {# answer body goes here#}
      </div>
    {% endfor %}
    {% paginate %}
Run Code Online (Sandbox Code Playgroud)

它会重定向到正确的页面,但不会重定向到正确的页面部分.

编辑:Result! When clicked, After going to the page section, it bounces to the bottom of the page

html django

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

在Boost.Asio中释放套接字(与assign相反),或者不转移所有权

在Boost.Asio套接字中有一个函数赋值,但我正在寻找类似的东西

  • 释放/取消分配将套接字上的所有权转移回用户.

要么

  • 某种类型的赋值不会将所有权转移到套接字类,因此它不会在销毁时关闭它.

我知道这个解决方案,但它涉及复制套接字(即创建新的描述符而不是释放一个).

有谁知道怎么做?

编辑:没有这样的功能,为Boost打开了门票.Asio https://svn.boost.org/trac/boost/ticket/3900

c++ sockets boost boost-asio

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

expr的意外行为

这可能听起来有点微不足道,但实际上非常令人沮丧:任何人都可以解释我:


[~:user$]expr 3 + 2
6
[~:user$]expr 3 / 2
1
[~:user$]expr 3 * 2
expr: syntax error
Run Code Online (Sandbox Code Playgroud)

当手册页expr精确指定ARG1*ARG2是两者的算术乘积时.

谢谢,

linux shell expression

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