Visual Studio 2010安装版本为... 4974的VC9运行时,其.pdbs不可用.如何强制我GME.exe使用较旧的VC9运行时?
我试过这个GME.exe.config:
<?xml version="1.0"?>
<configuration>
<windows>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity type="win32" name="GME" processorArchitecture="x86" version="1.0.0.1"/>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" publicKeyToken="1fc8b3b9a1e18e3b" processorArchitecture="x86" />
<bindingRedirect oldVersion="9.0.21022.8-9.0.21022.4974" newVersion="9.0.30729.4148" />
<bindingRedirect oldVersion="9.0.30729.0-9.0.30729.4974" newVersion="9.0.30729.4148" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.MFC" publicKeyToken="1fc8b3b9a1e18e3b" processorArchitecture="x86" />
<bindingRedirect oldVersion="9.0.21022.8-9.0.21022.4974" newVersion="9.0.30729.4148" />
<bindingRedirect oldVersion="9.0.30729.0-9.0.30729.4974" newVersion="9.0.30729.4148" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.ATL" publicKeyToken="1fc8b3b9a1e18e3b" processorArchitecture="x86" />
<bindingRedirect oldVersion="9.0.21022.8-9.0.21022.4974" newVersion="9.0.30729.4148" />
<bindingRedirect oldVersion="9.0.30729.0-9.0.30729.4974" newVersion="9.0.30729.4148" />
</dependentAssembly>
</assemblyBinding>
</windows>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但是,sxstrace报告:
INFO: Resolving reference Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"
....
INFO: …Run Code Online (Sandbox Code Playgroud) 如果我正确地解释C++引用,它们就像指针一样,但保证数据完整性(没有NULL,没有(int*)0x12345).但是当引用对象的范围被遗漏时会发生什么?如果没有涉及魔法(可能不是),引用的对象将在我背后被摧毁.
我写了一段代码来检查:
#include <iostream>
using namespace std;
class A {
public:
A(int k) { _k = k; };
int get() { return _k; };
int _k;
};
class B {
public:
B(A& a) : _a(a) {}
void b() { cout << _a.get(); }
A& _a;
};
B* f() {
A a(10);
return new B(a);
}
int main() {
f()->b();
}
Run Code Online (Sandbox Code Playgroud)
该_k实例变量放入检查堆栈帧的存在.
令人惊讶的是,它不是段错误而是正确地打印'10',而我认为它A是在堆栈上分配的,并且堆栈帧f()将被至少cout<<调用覆盖.
我正试图从Convio的公共api解组一个简单的xml文档.我没有使用以下代码获得任何编译器错误,但它也不会产生结果.值为null.如果我从xml文档中删除模式和命名空间项并从POJO中删除命名空间属性,那么它将运行得很好.我缺少什么能够使用xsd文档/命名空间?
我正在尝试解析的XML示例
<?xml version='1.0' encoding='UTF-8'?>
<getSingleSignOnTokenResponse xsi:schemaLocation="http://convio.com/crm/v1.0 http://service.convio.net/xmlschema/crm.public.v1.xsd" xmlns="http://convio.com/crm/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<token>abcdefghijklmnopqrstuvwxyz</token>
<cons_id>0123456789</cons_id>
</getSingleSignOnTokenResponse>
Run Code Online (Sandbox Code Playgroud)
和带注释的POJO:
@XmlRootElement(name = "getSingleSignOnTokenResponse", namespace = "http://convio.com/crm/v1.0")
public class SingleSignOnResponseBean
{
@XmlElement(name = "token")
public String token;
@XmlElement(name = "cons_id")
public int consId;
}
Run Code Online (Sandbox Code Playgroud)
现在,我正在使用Jersey来完成实际的工作,但由于我无法使用Jersey解组,我在上面的XML结果的机器上使用静态xml文件手动设置了一个unmarshaller:
JAXBContext jc = JAXBContext.newInstance(new Class[] {org.orgname.utility.convio.sso.api.SingleSignOnResponseBean.class});
Unmarshaller u = jc.createUnmarshaller();
SingleSignOnResponseBean bean2 = (SingleSignOnResponseBean) u.unmarshal(new File("C:/token.xml"));
System.out.println(bean2.token);
Run Code Online (Sandbox Code Playgroud)
这可能非常简单,我只是没有看到为什么如果定义了架构和命名空间元素它将无法工作.我已经看到了一些关于设置某种SAX过滤器去除命名空间的评论,但由于我是通过直接来自泽西的REST调用进来的,所以我不相信我有机会这样做.有任何想法吗?
我目前正在研究几个项目(至少开发部分只由我完成:).将Eclipse与不同的Java,R,SQL和其他源文件一起使用我想知道什么版本的控制系统最适合我.
当时Eclipse IDE的历史似乎已经足够了,但我不确定这是否会在一个月/一年内成立......
你会推荐什么解决方案?为什么?
更确切地说:如果我决定使用完整版控制系统,我肯定会使用SVN或git.但我不确定是否有必要......
small update: has the release of Eclipse Helios added new opinions?
Run Code Online (Sandbox Code Playgroud) 我非常喜欢和使用jQuery,但我希望能找到一个特殊项目的替代解决方案.
我正在创建一个书签,它将与我的应用程序连接,以允许用户更快地输入信息.我目前应用程序中最大的痛苦之一就是上传图像.用户(理智)讨厌以有组织的方式将图像下载到他们的计算机,然后将它们上传到应用程序的过程.
我喜欢这个书签要做的是加载一个带有几个小控件的小div叠加,其中包括一个允许用户将图像从当前页面拖放到控件中的控件.然后,该脚本将收集那些img标签的URI并将其与表单一起提交给应用程序,然后服务器会自动将它们下载到应用程序中.
因此,对于此任务,每次单击bookmarklet时,将jQuery和jQuery UI加载到页面中似乎是一种非常严厉的方法.
任何人都可以推荐一个漂亮,轻量级的JavaScript工具包来处理拖放功能,没有别的吗?
我很高兴看到新的DragDealer工具,它看起来很棒,就在今天的ajaxian上,但它似乎只是处理拖动而不是"掉落"(即不是目标)
我有一个JavaScript函数,有人可以传递任何东西,我使用它迭代它的每个键
for x in obj
Run Code Online (Sandbox Code Playgroud)
句法.但是,如果它们传递一个原语(字符串或数字),则会导致错误; 正确的行为是函数对那些函数的行为方式与没有键的对象上的行为相同.
我可以做一个try..catch块来解决这个问题,但还有另一种(更简洁)的方法吗?
当我的进程结束时,我得到输出到stderr,看起来像:
Exception exceptions.TypeError: "'NoneType' object is not callable" in <function <lambda> at 0x5507d70> ignored
Run Code Online (Sandbox Code Playgroud)
我的理解是,这是由垃圾收集(del()?)中生成的异常或我知道在此应用程序中使用的weakref回调引起的.
有哪些方法可以找出它的来源?
我的程序有一个类,其中包含一个Level名为的对象向量levels.在成员函数中有这一行:
levels.push_back(level::Level());
Run Code Online (Sandbox Code Playgroud)
我今天对我的程序做了一些更改,这行代码开始了segfaulting:
0x0804d248 in void std::vector<yarl::level::Level, std::allocator<yarl::level::Level> >::emplace_back<yarl::level::Level>(yarl::level::Level&&) (this=0x0,
__args#0=...) at /usr/include/c++/4.4/bits/vector.tcc:93
93 if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
Run Code Online (Sandbox Code Playgroud)
我认为Level对象可能以某种方式变得腐败,所以我在函数调用之外声明它,所以我可以在gdb中检查它,如下所示:
level::Level foo();
levels.push_back(foo);
Run Code Online (Sandbox Code Playgroud)
原来这不编译.它g ++给出了我以前没见过的两个错误:
error: invalid conversion from 'level::Level (*)()' to 'int'
error: initializing argument 1 of 'level::Level::Level(int, int, int)'
Run Code Online (Sandbox Code Playgroud)
现在,Level构造函数接受三个整数参数,每个参数都有默认值.我以为它可能一直在抱怨我没有传递这三个参数,即使它们有默认值,所以我更改了第一行以传递默认值:
level::Level foo(1, 100, 100);
Run Code Online (Sandbox Code Playgroud)
这现在编译,但仍然是段错误,但在不同的地方(尽管是相同的测试)这样做:
0x0804c699 in std::vector<yarl::level::Level, std::allocator<yarl::level::Level> >::push_back (this=0x0, __x=...) at /usr/include/c++/4.4/bits/stl_vector.h:735
735 if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
Run Code Online (Sandbox Code Playgroud)
我意识到这个代码太少,不能指望你们能够解决我的问题,但也许有人可以告诉我更多关于这些错误的含义?特别是那些g ++错误; 我不知道为什么它不会接受一个空的Level构造函数,因为它的所有参数都是默认的,我不知道(*)()错误的部分是什么意思(它使得错误对谷歌来说非常令人沮丧).
如果我的文件系统中已有照片,如何在不提交表单的情况下保存?当某些动作发生时,我想在控制器中执行此操作.
我正在使用回形针来保存我的照片.因此,如果您有任何想法如何制作回形针保存它也会非常有帮助.
回形针:
我已经用回形针保存了一张照片.这张照片属于一匹马(模特).我想要做的是当一匹新马被创造出来时,给那匹马照相同的照片.那我怎么能这样做呢.我试图用回形针指向那张照片.我刚刚复制了原始照片的属性.它不起作用.回形针查找错误的文件夹.
所以我有照片模型.它属于马模型.使用回形针需要4个属性:data_content_type,data_file_name,data_file_size,data_updated_at.
如果我然后使用Photo.new创建一个新的类照片实例,并给它四个回形针参数paperclip查找保存文件的不同位置.
我能做什么?如何在不提交表格的情况下将其保存在控制器中?(有papeclip(优选)或没有)
谢谢你的回答
我有一个.PEM 文件,我想将其转换为 PKCS12 文件 (PFX),我知道我可以使用以下openssl命令轻松完成此操作:
Run Code Online (Sandbox Code Playgroud)Create a PKCS#12 file: openssl pkcs12 -export -in file.pem -out file.p12 -name "My Certificate"
这很好,但我想使用OpenSSL调用以编程方式执行此操作。不幸的是,OpenSSL 的文档并不理想。
我已经研究过使用其他库来做到这一点:
使用 .NET:我可以从 PEM 文件创建 X509Certificate2 对象,但这只会获取第一个证书并忽略 PEM 文件中的任何中间 CA。
使用Mentalis.org安全库:我可以从 PEM 文件创建证书对象,但我在文档中看到以下内容:
备注 此实现仅从 PEM 文件读取证书。它不会从证书文件中读取私钥(如果存在)。
所以,这对我没有帮助。我也需要那个私钥。
我基本上需要重新创建 OpenSSL 命令行工具操作以实现 PEM>PFX,但在代码中。
有没有更简单的方法来做到这一点?