Tag: 程序集

如何使用PowerShell引用.NET程序集

我是一名C#.NET开发人员/架构师,并且明白它使用对象(.NET对象)而不仅仅是stream/文本。 我想能够使用PowerShell调用我的.NET(C#库)集合的方法。 如何在PowerShell中引用程序集并使用程序集?

x86 asm中的括号是什么意思?

给出以下代码: L1 db "word", 0 mov al, [L1] mov eax, L1 括号([L1])代表什么?

手动汇编vs GCC

免责声明:我刚刚开始与x86程序集。 我在大学学到了一点SPIM,但是这并不值得一提。 我以为我从libc,abs()中最简单的函数开始。 在C中非常简单: long myAbs(long j) { return j < 0 ? -j : j; } 我的汇编版本: .global myAbs .type myAbs, @function .text myAbs: test %rdi, %rdi jns end negq %rdi end: movq %rdi, %rax ret (这对32位整数不起作用,可能是因为RAX是一个64位寄存器,标志可能位于错误的位置 – 我必须调查)。 现在这里是gcc所做的(gcc -O2 -S myAbs.c): .file "myAbs.c" .section .text.unlikely,"ax",@progbits .LCOLDB0: .text .LHOTB0: .p2align 4,,15 .globl myAbs […]

编程语言编译器首先转化为汇编还是直接转换为机器代码?

我主要感兴趣的是广泛使用的编译器,比如gcc。 但是如果不同的编译器做了不同的事情,我也想知道这一点。 以gcc为例,它是用C编写的一个简短的程序直接编译成机器码 ,还是先把它转换成可读的程序集,然后用(内置的)汇编程序把汇编程序翻译成二进制, 机器码 – 一系列的指令给CPU? 使用汇编代码创build一个二进制可执行文件是一个非常昂贵的操作 或者这是一个相对简单快捷的事情吗? (假设我们只处理x86系列处理器,所有程序都是为Linux编写的。) 对于此事的任何帮助和想法,我将非常感激。 谢谢!

在Sublime Text 2中是否有语法突出显示?

我无法突出我的大会。

什么是混合模式组装?

我正在查看System.Data.SQLite下载页面 ,它列出了.NET 4的混合模式程序集和一个常规(我假设)。 我将要使用这个库的项目都是.NET 4,它将被编译为x86。 我有两个问题: 什么是混合模式组装? Google返回了一系列令人困惑的答案,这些答案都没有什么意义。 一个答案指出,这是关于混合原生代码和托pipe代码,而其他人声称混合.Net版本。 我应该为我的情况下载哪个下载?

如何检查程序集是否使用Debug或Releaseconfiguration?

我开始部署我的Web应用程序,我需要保证将要部署的所有程序集都是使用发布configuration构build的。 我们的系统是使用C#/ .Net 3.5开发的。 有没有办法做到这一点?

以编程方式检测物理处理器/内核的数量,或者如果Windows,Mac和Linux上的超线程处于活动状态

我有一个multithreading的c + +应用程序,运行在Windows,Mac和一些Linux的风味。 长话短说:为了以最高效率运行,我必须能够实例化每个物理处理器/内核的单个线程。 创build比物理处理器/内核更多的线程会大大降低程序的性能。 我已经可以在所有这三个平台上正确检测到逻辑处理器/内核的数量。 为了能够正确检测物理处理器/内核的数量,我们必须检测是否支持超级执行并且处于活动状态。 因此,我的问题是,如果有一种方法来检测是否支持超线程和启用? 如果是这样,究竟如何。

这是什么意思来alignment堆栈?

我一直是一个高级编码人员,而且架构对我来说是相当新的,因此我决定在这里阅读关于Assembly的教程: http://en.wikibooks.org/wiki/X86_Assembly/Print_Version 远在教程,指导如何转换Hello World! 程序 #include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; } 转换为等效的汇编代码,并生成以下内容: .text LC0: .ascii "Hello, world!\12\0" .globl _main _main: pushl %ebp movl %esp, %ebp subl $8, %esp andl $-16, %esp movl $0, %eax movl %eax, -4(%ebp) movl -4(%ebp), %eax call __alloca call ___main movl $LC0, (%esp) call _printf movl $0, […]

C和汇编实际编译到什么地方?

所以我发现C(++)程序实际上并没有编译成简单的“二进制”(我可能在这里得到了一些错误,在这种情况下,我很抱歉:D),但是对于一系列的东西(符号表,os相关的东西,…)但是… 汇编程序“编译”为纯二进制文件吗? 这意味着除了预定义的string等资源外,没有额外的东 如果C编译成其他的东西而不是纯二进制文件,那么这个小的汇编引导程序如何才能将指令从硬盘拷贝到内存中并执行? 我的意思是,如果操作系统内核(可能用C编写)编译为不同于普通二进制文件的东西 – 引导加载程序如何处理它? 编辑:我知道汇编没有“编译”,因为它只有你的机器的指令集 – 我没有find什么汇编“汇编”的好词。 如果你有一个,留在这里作为评论,我会改变它。