相关疑难解决方法(0)

C#和.NET有什么区别?

我可以知道C#和.NET有什么区别?当我想到C#时,我会说它是一种.NET语言,但是当我搜索职位时,他们要求候选人具有C#和.NET经验.有人可以给我一个解释吗?

.net c#

178
推荐指数
9
解决办法
29万
查看次数

什么是C运行时库?

实际上是什么是C运行时库以及它用于什么?我正在搜索,谷歌搜索像魔鬼,但我找不到比微软更好的东西:"微软运行时库提供了Microsoft Windows操作系统编程的例程.这些例程自动执行许多常见的编程任务,这些任务不是由微软提供的. C和C++语言."

好的,我明白了,但是例如,是什么libcmt.lib?它有什么作用?我认为C标准库是C编译器的一部分.那么libcmt.libWindows的C标准库函数的实现是否可以在win32下运行?

c runtime

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

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

java.lang.Object中的'shadow $ _klass_'和'shadow $ _monitor_'变量是什么?

在最新的Android更新(SDK 21)中,似乎已向java.lang.Object添加了2个新变量:

private transient Class<?> shadow$_klass_;
private transient int shadow$_monitor_;
Run Code Online (Sandbox Code Playgroud)

我注意到它java.lang.Object被简要地用于shadow$_monitor_:

public int hashCode() {
    int lockWord = shadow$_monitor_;
    final int lockWordMask = 0xC0000000;  // Top 2 bits.
    final int lockWordStateHash = 0x80000000;  // Top 2 bits are value 2 (kStateHash).
    if ((lockWord & lockWordMask) == lockWordStateHash) {
        return lockWord & ~lockWordMask;
    }
    return System.identityHashCode(this);
}
Run Code Online (Sandbox Code Playgroud)

但除此之外没有提及它们.它们是否与ART中的GC有关?还是某种原生的东西?

java android art-runtime android-5.0-lollipop

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

在java中,"5/0"语句不会在我的Linux机器上触发SIGFPE信号,为什么?

我写了一个非常简单的c程序:

#include<stdio.h>

int main(){
    int a=2;
    int b=0;
    printf("%d\n", a/b);
}
Run Code Online (Sandbox Code Playgroud)

并使用strace运行它:strace ./a.out并获得以下输出(仅粘贴尾部)

... ...
mprotect(0x600000, 4096, PROT_READ)     = 0
mprotect(0x7f04c7fb8000, 4096, PROT_READ) = 0
munmap(0x7f04c7f96000, 127640)          = 0
--- SIGFPE (Floating point exception) @ 0 (0) ---
+++ killed by SIGFPE +++
Floating point exception
Run Code Online (Sandbox Code Playgroud)

输出符合我的预期,因为它被SIGFPE信号杀死.

但是,用Java编写的相同程序,没有得到SIGFPE信号,有没有人知道java进程如何"除以零"异常?

public class Main {

  public static void main(String[] args) {
    int a = 2;
    int b = 0;
    System.out.println(a / b);
  }
}
Run Code Online (Sandbox Code Playgroud)

strace java -Xcomp Main

... ...
mprotect(0xf6949000, 8171520, PROT_READ|PROT_WRITE) …
Run Code Online (Sandbox Code Playgroud)

c java linux signals exception-handling

6
推荐指数
3
解决办法
2119
查看次数

Python 上下文中的运行时是什么?它由什么组成?

在这个问题的上下文中什么是“运行时”?(/sf/ask/273038461/)

我试图了解 python 运行时由什么组成。我的猜测是:

  1. 包含所有运行时变量的 python 进程。
  2. 吉尔吉斯斯坦
  3. 底层解释器代码(CPython 等)。

现在,如果这是正确的,我们是否可以说 python 中的多处理创建了多个运行时并且一个 python 进程是我们可以直接与运行时相关联的东西?(我认为这是正确的选择)

或者,每个 python 线程都有自己的堆栈,与父进程在相同的 GIL 和内存空间上工作,可以被称为具有单独的运行时?

或者,不管有多少线程或进程正在运行,它都会在一个运行时下运行?

简单来说,Python 上下文中运行时的定义是什么?

PS:我理解线程和进程之间的区别。GIL:我理解这些影响,但我不理解。

python terminology runtime multiprocessing gil

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

运行时定义

什么是运行时?我并不是说"在运行时"=因为程序/脚本正在运行.我的意思是

<your-interpret-language-here>运行时

interpreter compiler-theory language-theory terminology interpreted-language

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

C99 GDB中的可变长度数组

在这个简单的C99代码:

int main(void){
  int a[3][3] = {1};
  int m = 3;
  int x;
  int b[m][m];
  x = sizeof(b);
  b[0][0] = -1;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

使用GDB,我们在返回行设置一个断点并运行.现在让我们看看以下内容:

(gdb) p a
$1 = {{1, 0, 0}, {0, 0, 0}, {0, 0, 0}}
(gdb) p b
$2 = 0x7fffffffe3a0
(gdb) p sizeof(a)
$3 = 36
(gdb) p sizeof(b)
$4 = 0
(gdb) p x
$5 = 36
(gdb) whatis a
type = int [3][3]
(gdb) whatis b
type = int [][]
(gdb) 
Run Code Online (Sandbox Code Playgroud)

我想知道这是怎么发生的.C运行时环境假定b的类型是int …

c gdb c99

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

valgrind 的 C++ 程序内存使用信息错误?

我正在使用 valgrind 使用此命令查找我的程序的内存使用情况

valgrind --tool=memcheck --leak-check=full -s --track-origins=yes ./memoryProblem
Run Code Online (Sandbox Code Playgroud)

它显示我的程序的总堆使用量为 72,704 字节

这是我的程序

#include <iostream>

int main(int argc, char const *argv[])
{
    int a[32768];
    std::cout << sizeof a;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

int 是 4 个字节,32768*4 应该是 131,072 个字节,这也是程序的输出,但是为什么 valgrind 显示堆栈上数组的堆使用情况?

此外,我删除了 iostream 和 cout 并将数组大小减少到 10 个整数,这是输出:

==169343== Memcheck, a memory error detector
==169343== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==169343== Using Valgrind-3.17.0 and LibVEX; rerun with -h for copyright info
==169343== Command: ./memoryProblem
==169343== …
Run Code Online (Sandbox Code Playgroud)

c++ memory valgrind

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