问题列表 - 第22751页

在MSBuild中获取发布目录

我有一个asp.net mvc应用程序,我发布Visual Studio的发布功能,我有一个自定义MSBuild任务,需要我发布的目录,所以它知道在哪里复制一些自定义构建文件...我'我试过$(OutDir),$(PublishDirectory)和其他一些人...我怎么得到这条路?

msbuild

12
推荐指数
3
解决办法
2624
查看次数

更改VBA字典中的数组值

我有一段代码似乎没有做预期的事情.VBA Arrays一定是可变的,但似乎当它们作为某些键的值存储到Dictionary中时,它们不再是可变的.有任何想法吗?

Sub foo()
    Dim mydict As New Dictionary
    mydict.Add "A", Array(1, 2, 3)
    MsgBox mydict("A")(1)
    ''# The above shows 2, which is fine
    mydict("A")(1) = 34
    MsgBox mydict("A")(1)
    ''# The above also shows 2, which is not fine
End Sub
Run Code Online (Sandbox Code Playgroud)

arrays excel vba dictionary excel-vba

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

感叹号在其参数中与assert方法一起使用

好吧,这已经在我的脑海中徘徊了一段时间了.在ruby on rails单元测试中,有一个带有assert方法的感叹号.这是一个例子

test "No empty values to be inserted" do 
   product = Produce.new
   assert !product.save
end
Run Code Online (Sandbox Code Playgroud)

让我知道感叹号的功能.快速回复表示赞赏.谢谢.

ruby ruby-on-rails

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

**运算符在C中的含义是什么?

请问**在C什么特殊的意义?

像这样:

static intparse_one (int argc, char **argv)
{
    cmd_line       *slot;
    int             value;
    Flag_name       flag_name;
    int         i;

printf("argv %s\n",argv);
printf("argv[0] %c\n",**argv);
Run Code Online (Sandbox Code Playgroud)

如果是这样,该行

**argv
Run Code Online (Sandbox Code Playgroud)

合理?我试图运行的程序令人窒息.如果我尝试打印它,我会遇到分段错误.

第一个printf打印字符串罚款.第二个printf失败了.

这是我得到的输出(第一行是正确的):

argv -aps_instance1001-aps_ato0-aps_ipc_debug3

Segementation Fault (core dumped)
Run Code Online (Sandbox Code Playgroud)

c

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

关于cerr cout和clog的问题

任何人都可以解释cerr cout和clog之间的区别以及为什么会提出不同的对象?

我知道差异如下:

1)cout可以重定向但cerr不能

2)阻塞可以使用缓冲区.

我对第2点感到困惑,如果有人能详细说明,我很感激.

c++ iostream

10
推荐指数
2
解决办法
6494
查看次数

如何从Ant构建文件设置Eclipse构建路径和类路径?

关于Ant和Eclipse有很多讨论,但之前没有回答似乎对我有所帮助.

这是交易:我正在尝试构建一个Java程序,它可以从命令行成功编译Ant.(为了进一步混淆问题,我试图编译的程序是Ant本身.)

我真正想要做的是将这个项目带入Eclipse并在Eclipse中编译,以便正确解析类型绑定和变量绑定(来自Eclipse JDT的命名法).我需要这个,因为我需要对构建在Eclipse JDT之上的代码运行静态分析.我将Java项目引入Eclipse以便Eclipse构建并解析所有绑定的常规方法是将源目录导入Java项目,然后告诉它使用src/main /目录作为"源目录" ".

不幸的是,使用Ant执行此操作会导致构建失败并出现大量编译错误.在我看来,Ant构建文件正在设置类路径并正确构建路径(可能通过排除某些源文件),Eclipse没有这些信息.

有没有办法获取嵌入在Ant构建文件中的类路径和构建路径信息,并将这些信息提供给Eclipse以放入其.project和.classpath文件中?我试过,从现有的构建文件(文件菜单中的一个选项)创建一个新项目,但这没有帮助.该项目仍然具有相同的编译错误.

谢谢,内尔斯

java eclipse ant build eclipse-jdt

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

PHP脚本导致分段错误然后浏览器要求我下载.php文件中没有任何内容?

我注意到我的一些PHP程序有一个不寻常的问题.有时,当访问profile.edit.php这样的页面时,浏览器会抛出一个对话框,要求下载profile.edit.php页面.当我下载它时,文件中没有任何内容.profile.edit.php应该是一个编辑用户信息的Web表单.

我在其他一些php页面上也注意到了这一点.我查看了我的apache错误日志,并且看到了分段错误消息:

[Mon Mar 08 15:40:10 2010] [notice] child pid 480 exit signal Segmentation fault (11)
Run Code Online (Sandbox Code Playgroud)

此外,根据我部署应用程序的服务器,问题可能会出现也可能不会出现.

附加细节 这不会一直发生.它有时只会发生.例如,profile.edit.php将正确加载.但是只要我点击保存按钮(form action ="profile.edit.php?save = true"),页面就会要求我下载profile.edit.php.难道有时候我的php脚本会占用太多资源吗?

示例代码

保存操作后,我的profile.edit.php包含一个data_access_object.php文件.我在这里跟踪data_access_object.php中的代码到这一行

 if($params[$this->primaryKey])
 {
                        $q = "UPDATE $this->tableName SET ".implode(', ', $fields)." WHERE ".$this->primaryKey." = ?$this->primaryKey";
                        $this->bind($this->primaryKey, $params[$this->primaryKey], $this->tblFields[$this->primaryKey]['mysqlitype']);
}
 else
{
$q = "INSERT $this->tableName SET ".implode(', ', $fields);
}
// Code executes perfectly up to this point
// echo 'print this'; exit; // if i uncomment this line, profile.edit.php will actually show 'print this'.  If …
Run Code Online (Sandbox Code Playgroud)

php segmentation-fault

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

为什么javac checkcast阵列两次?

检查字节码,我注意到javac似乎checkcast在转换为数组类型时复制指令.

Cast.java:
class Cast {
  void test(Object a) {
    Object[] b = (Object[])b;
  }
}
Run Code Online (Sandbox Code Playgroud)

javap反汇编的javac编译版本

void test(java.lang.Object);
  Code:
   0:   aload_1
   1:   checkcast   #2; //class "[Ljava/lang/Object;"
   4:   checkcast   #2; //class "[Ljava/lang/Object;"
   7:   astore_2
   8:   return
Run Code Online (Sandbox Code Playgroud)

测试jikes显示预期的单演员

void test(java.lang.Object);
  Code:
   0:   aload_1
   1:   checkcast   #10; //class "[Ljava/lang/Object;"
   4:   astore_2
   5:   return
Run Code Online (Sandbox Code Playgroud)

checkcast如果对象不能被视为请求的类型而不执行任何操作,则应该引发异常,因此我不明白为什么它可能有助于使转换加倍.我没有看过JDK的来源,看看它是如何产生的,如果这有助于解释原因(也许这意味着它的暗示).

jvm bytecode javac jikes

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

DllMain内部没有断开的开关/外壳

我有一个Dllmain,当一个线程附加到这个DLL时,它分配Thread本地存储.代码如下:

BOOL APIENTRY DllMain(HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved)
{
    LPVOID lpvData; 
    BOOL fIgnore; 

    switch (ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        onProcessAttachDLL();
        // Allocate a TLS index.
        if ((dwTlsIndex = TlsAlloc()) == TLS_OUT_OF_INDEXES) 
            return FALSE; 
        // how can it jump to next case???
    case DLL_THREAD_ATTACH:
        // Initialize the TLS index for this thread.
        lpvData = (LPVOID) LocalAlloc(LPTR, MAX_BUFFER_SIZE); 
        if (lpvData != NULL) 
            fIgnore = TlsSetValue(dwTlsIndex, lpvData);  
        break; 
    ...
Run Code Online (Sandbox Code Playgroud)

}

我知道对于主线程,根据Microsoft文档,未输入DLL_THREAD_ATTACH.但是,上面的代码有效.我使用的是VC2005.当我进入调试器时,我看到在ul_reason_for_call = 1后输入DLL_THREAD_ATTACH的情况!怎么会发生这种情况?如果我在DLL_PROCESS_ATTACH块的末尾添加"break",则DLL无法工作.

怎么会发生这种情况?

c dll winapi switch-statement

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

DateTime到javascript日期

从Stackoverflow的另一个答案是从Javascript日期到.net DateTime的转换:

long msSinceEpoch = 1260402952906; // Value from Date.getTime() in JavaScript
return new DateTime(1970, 1, 1) + new TimeSpan(msSinceEpoch * 10000);
Run Code Online (Sandbox Code Playgroud)

但是怎么做呢?DateTime到Javascript日期?

.net javascript c#

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