问题列表 - 第45810页

混合模式C++/CLI崩溃:atexit中的堆损坏(静态析构函数注册)

我正在部署一个程序,代码库是C++/CLI和C#的混合体.C++/CLI有各种风格:native,mixed(/clr)和safe(/clr:safe).在我的开发环境中,我创建了一个包含所有C++/CLI代码的DLL,并从C#代码(EXE)引用它.这种方法完美无瑕.

对于我的发行版,我想发布一个可执行文件(只是声明"为什么不只是将DLL和EXE分开?"是不可接受的).

到目前为止,我已经成功地用所有不同的来源编译EXE.但是,当我运行它时,我得到"XXXX已停止工作"对话框,其中包含检查在线,关闭和调试的选项.问题详情如下:

Problem Event Name:       APPCRASH
Fault Module Name:        StackHash_8d25
Fault Module Version:     6.1.7600.16559
Fault Module Timestamp:   4ba9b29c
Exception Code:           c0000374
Exception Offset:         000cdc9b
OS Version:               6.1.7600.2.0.0.256.48
Locale ID:                1033
Additional Information 1: 8d25
Additional Information 2: 8d25552d834e8c143c43cf1d7f83abb8
Additional Information 3: 7450
Additional Information 4: 74509ce510cd821216ce477edd86119c
Run Code Online (Sandbox Code Playgroud)

如果我调试并将其发送到Visual Studio,它会报告:

Unhandled exception at 0x77d2dc9b in XXX.exe: A heap has been corrupted
Run Code Online (Sandbox Code Playgroud)

选择中断会导致它停在ntdll.dll!77d2dc9b(),没有其他信息.如果我告诉Visual Studio继续,程序启动正常并且似乎没有发生任何事故,可能是因为现在附加了调试器.

你是怎么做到的?如何避免这种堆损坏?该程序似乎工作正常,除此之外.

我的删节编译脚本如下(为简洁起见,我省略了错误检查):

@set TARGET=x86
@set TARGETX=x86
@set OUT=%TARGETX%
@call "%VS90COMNTOOLS%\..\..\VC\vcvarsall.bat" %TARGET%

@set WIMGAPI=C:\Program Files\Windows …
Run Code Online (Sandbox Code Playgroud)

c# linker program-entry-point c++-cli atexit

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

在Android中使用color和color.darker?

好的,我的应用程序中有一个整数变量.这是一种颜色的值,由我喜欢的颜色选择器设置.现在,我需要使用它的颜色和任何颜色的深色版本.

现在我知道在标准Java中有一个Color.darker()方法,但在Android中似乎没有相应的东西.有谁知道等效或任何变通方法?

java android colors

63
推荐指数
4
解决办法
3万
查看次数

如何将SDK示例项目复制到工作区?

我的目标是复制NotePad示例项目,这样如果我修改源文件以便通过实验学习,原始示例文件将不会受到影响.这个目标背后的理性在@Neutrino的这篇文章的子弹1-2-3中得到了很好的解释.

根据@ Neutrino的帖子,我执行了以下步骤:

步骤1:将示例代码复制到临时位置(工作区目录之外):

 1. Close Eclipse.
 2. Copy the entire sample folder
    **NotePad** from C:\android-sdk-windows\samples\android-7
    to C:\Users\androideve\Documents\NotePad
Run Code Online (Sandbox Code Playgroud)

步骤2.从副本导入到工作区:

   1. Start Eclipse
   2. File > New > Project > Android Project [Next]
      > Create project from existing **source**: C:\Users\androideve\Documents\NotePad
   3. Delete project from Package Explorer (without deleting its files from disk!)
   4. File > Import... 
      > General > Existing Projects into Workspace [Next]
        > Browse: C:\Users\androideve\Documents\NotePad
        > Check "Copy projects into workspace" [Finish]
   5. Delete entire …
Run Code Online (Sandbox Code Playgroud)

eclipse android eclipse-plugin

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

我如何比较两个哈希?

我试图使用以下代码比较两个Ruby Hashes:

#!/usr/bin/env ruby

require "yaml"
require "active_support"

file1 = YAML::load(File.open('./en_20110207.yml'))
file2 = YAML::load(File.open('./locales/en.yml'))

arr = []

file1.select { |k,v|
  file2.select { |k2, v2|
    arr << "#{v2}" if "#{v}" != "#{v2}"
  }
}

puts arr
Run Code Online (Sandbox Code Playgroud)

屏幕输出是file2的完整文件.我知道文件不同的事实,但脚本似乎没有拿起它.

ruby hash

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

调用javascript时间"对象"

我的webservice以下列格式返回一个对象.

{"UserID":"338040a3-6587-42bf-b22e-dc88f4ea3a9c","CompanyID":"823946a4-29d0-4546-a7ca-790648cf1e1a","FirstName":"Maxim","LastName":"Gershkovich","Username":"MaximG","Password":"62198e58d57843967bc34824be77ee2f1e2abcbbe389dc41c06810ed6f9561bf","Email":"email@email.net.au","SignupDate":"/Date(1272631625210)/","IsAdmin":true,"LoginTime":"/Date(1297129238517)/"}"
Run Code Online (Sandbox Code Playgroud)

获取它返回的日期时间值并将其转换为javascript日期对象的最佳方法是什么?

"SignupDate":"/Date(1272631625210)/"
Run Code Online (Sandbox Code Playgroud)

我能想到的唯一方法是去除第一个和最后一个字符然后再进行评估.有没有更好的办法?

javascript asp.net datetime epoch

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

如何为类型参数约束的泛型类型编写扩展方法?

我正在使用特定于任务的.NET平台,它是预编译的而不是OpenSource.对于某些任务,我需要扩展此类,但不是通过继承它.我只是想添加一个方法.

首先,我想向您展示一个虚拟代码现有类:

public class Matrix<T> where T : new() {
    ...
    public T values[,];
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想以下面的方式扩展这个类:

public static class MatrixExtension {
    public static T getCalcResult<T>(this Matrix<T> mat) {
        T result = 0;
        ...
        return result;
    }
}
Run Code Online (Sandbox Code Playgroud)

我从许多谷歌链接获得这种语法,所以不知道它是否正确.编译器告诉我没有错误,但最终它不起作用.最后,我想以下列方式调用此函数:

Matrix<int> m = new Matrix<int>();
...
int aNumber = m.getCalcResult();
Run Code Online (Sandbox Code Playgroud)

所以任何人都有了主意?谢谢您的帮助!

问候内姆

.net c# generics methods

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

名称空间是本地JavaScript函数必须的吗?

我同意使用命名空间对于JavaScript库至关重要,但是那些驻留在script标记中的HTML文件中的函数呢?基本上这些是"本地"功能,永远不会与任何其他页面共享.那些人还在使用命名空间吗?如果是这样,您是否使用与共享自定义库相同的命名空间?

javascript namespaces

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

为什么要包含一个头和前向声明包含在同一个cpp文件中的类?

我一直在为我的大学项目寻找恐惧SDK,但是我注意到了一些类似的代码:

foo.h中

class Foo
{
    public:
        int iSomething;
};
Run Code Online (Sandbox Code Playgroud)

Bar.cpp:

#include "Foo.h"

// Forward declarations
class Foo;
Run Code Online (Sandbox Code Playgroud)

是否有任何特殊原因要转发声明并在同一个cpp文件中包含相应的标头?或者前向声明是多余的,因为标题包含在内?

编辑:

每次我在代码中看到它时,include语句总是在前向声明之前.

c++ header forward-declaration

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

用volatile标志代替锁定技术

最近,我遇到了一种volatile旗帜技术,我可以避免使用synchronizedlock.

http://jeremymanson.blogspot.com/2008/11/what-volatile-means-in-java.html

这是使用volatileflag 的代码示例之一.

正确的工作实例

Thread 1
========
// re-odering will not happen. initialize_var...
// will not move below "volatile_initialization_ready = true"
// statement.
initialize_var1();
initialize_var2();
initialize_var3();
volatile_initialization_ready = true;


Thread 2
========
if (volatile_initialization_ready) {
    use_var1();
    use_var2();
    use_var3();
}
Run Code Online (Sandbox Code Playgroud)

但是,我发现我在某些情况下不能使用这种技术,如下所示.

错误的工作示例

Thread 1
========
volatile_going_to_destroy = true;
destroy_var1();
destroy_var2();
destroy_var3();

Thread 2
========
if (volatile_going_to_destroy) {
    return;    // ignore.
}

// But Thread 1 still able to perform destroy
// when …
Run Code Online (Sandbox Code Playgroud)

java multithreading

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

Python,pythonic表达式

这个片段有pythonic表达式吗?

# linux.cmd is a dict
cmd = linux.cmd.get(k, k)
if not cmd:
    cmd = k
Run Code Online (Sandbox Code Playgroud)

价值linux.cmd.get[k]可能是False.

python

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