小编ndi*_*dim的帖子

学习拆卸

为了理解下面发生了什么,我正在制作小型C程序,然后将其反转,并尝试理解其objdump输出.

C程序是:

#include <stdio.h>

int function(int a, int b, int c) {
    printf("%d, %d, %d\n", a,b,c);
}

int main() {
    int a;
    int *ptr;

    asm("nop");
    function(1,2,3);
}
Run Code Online (Sandbox Code Playgroud)

函数的objdump输出给出了以下内容.

080483a4 <function>:
 80483a4:   55                      push   ebp
 80483a5:   89 e5                   mov    ebp,esp
 80483a7:   83 ec 08                sub    esp,0x8
 80483aa:   ff 75 10                push   DWORD PTR [ebp+16]
 80483ad:   ff 75 0c                push   DWORD PTR [ebp+12]
 80483b0:   ff 75 08                push   DWORD PTR [ebp+8]
 80483b3:   68 04 85 04 08          push   0x8048504
 80483b8:   e8 fb …
Run Code Online (Sandbox Code Playgroud)

c assembly gcc disassembly

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

Git樱桃结合git show

我正在使用Git cherry,并希望看到它找到的提交的更多细节.首先,我跑

git cherry
-- read the output
git show sha-1
Run Code Online (Sandbox Code Playgroud)

有没有办法看到cherry的所有结果的提交/日志/差异,并通过它们翻页?我已经尝试将git cherry的结果用于各种各样的事情,但似乎无法找到一个有效的.

git

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

在Ada中,如何使用重复的数字初始化数组常量?

我需要一个820个零的数组,用于数学函数.

在CI中可以编写以下内容,编译器将填充数组:

 const float EMPTY_NUMBER_A[820] = { 0.0, };
Run Code Online (Sandbox Code Playgroud)

但是在Ada中这是不可能的.我真的不想将820元素硬编码为0.0.有没有办法让编译器这样做?

 type Number_A is array (1 .. 820) of Float;
 EMPTY_NUMBER_A : constant Number_A := ???;
Run Code Online (Sandbox Code Playgroud)

使用Ada 95和GNAT.

arrays constants ada

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

python/numpy生成的二进制文件供C读取

我在 python 中创建了一个名为 random_from_python_int.dat 的 5*7 整数矩阵二进制文件,然后我从 C 中读取了这个二进制文件。不知何故我无法得到正确的数字这是我生成这个矩阵的 python 代码:

import numpy as np
np.random.seed(10)
filename = "random_from_python_int.dat"
fileobj = open(filename, mode='wb')
b = np.random.randint(100, size=(5,7))
b.tofile(fileobj)
fileobj.close
Run Code Online (Sandbox Code Playgroud)

这将生成一个矩阵

[ [  9 15 64 28 89 93 29]
  [  8 73 0  40 36 16 11]
  [ 54 88 62 33 72 78 49]
  [ 51 54 77 69 13 25 13]
  [ 92 86 30 30 89 12 65] ]
Run Code Online (Sandbox Code Playgroud)

但是当我从下面的 C 代码中读取它时:

#include <stdio.h>
#include <math.h>
int …
Run Code Online (Sandbox Code Playgroud)

c python io binary numpy

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

在erlang中,如何解释`fun erlang:'+'/2`中的`+`运算符

我是新手Erlang,但有一些经验Elixir当我在尝试 RAFT ra的 RabbitMQ 实现时尝试学习 Erlang 时,我在 erlang 中遇到了一行Machine = {simple, fun erlang:'+'/2, 0},

Machine = {simple, fun erlang:'+'/2, 0},
Run Code Online (Sandbox Code Playgroud)

所以,在 中 {simple, fun erlang:'+'/2, 0},,这看起来像是在创建一个元组。元组中的第一项是atom命名的simple,下一个function和最后一个是integer

{atom, function, integer}
Run Code Online (Sandbox Code Playgroud)

我不明白该函数fun erlang:'+'/2在这种情况下正在做什么。这/2意味着它应该需要 2 个参数。'+'只是一个加法运算符吗?如果是这样,这是一个简单的sum功能,我想太多了吗?erlang 文档说“如果原子不以小写字母开头或者包含字母数字字符、下划线 (_) 或 @ 以外的其他字符,则原子将用单引号 (') 括起来。”

在给定的上下文中,我看到这段代码,它指出State machine that implements the logic,这让我理解这个状态机是用atom命名的simple,执行加法,并将结果保存在元组的最后一项中。

是不是相当于 …

erlang elixir rabbitmq

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

如何删除具有相同ID的div但在JAVascript中显示='block'和display ='none'

我有超过1个具有相同ID的div,但是一个有diplay ='block'而其他有display ='none'.

我想删除所有显示='none'的div.

请告诉最简单的方法.

javascript

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

离线HTML5 .html页面 - 需要将文件包含到另一个文件中

我们有一组离线的HTML页面,我们正在使用HTML5文档类型.我们希望通过a包括我们的子导航<script src="____">但由于某种原因它不包括.是否有其他方法包含文件而无需在某处提供服务器端协助?

由于我们如何将这些文件提供给客户端,我们必须离线工作,但由于简单的子导航更改可以通过Javascript以某种方式全局包含,因此必须更新100个文件会非常糟糕.

html javascript html5 include

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

将数组称为指针

我似乎无法理解数组或二维数组上的不同声明之间的区别.
例如:

void swap(char **a, char **b) {
    char *t = *a;
    *a = *b;
    *b = t;
}
int main(int argc, char **argv) {
    char a[] = "asher";
    char b[] = "saban";
    swap(&a,&b);
}
Run Code Online (Sandbox Code Playgroud)

这段代码没有编译,它输出:

warning: passing argument 1 of ‘swap’ from incompatible pointer type
test.c:10: note: expected ‘char **’ but argument is of type ‘char (*)[6]’
Run Code Online (Sandbox Code Playgroud)

是不是a指向char数组的第一个单元格的&a指针,是指向指针的指针?

另一个例子是:

char (*c)[3];  
char (*d)[3];  
swap(c,d);
Run Code Online (Sandbox Code Playgroud)

不编译.. char (*c)[3]与指针相同char a[] = "ab"

但是这确实编译:

char …
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

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

指针互换的指针

转换int pointervoid pointer然后返回是否安全int pointer

main()
{
    ...
    int *a = malloc(sizeof(int));
    ...
    *a=10;
    func(a);
    ...
}

void func(void *v)
{
    int x=*(int *)v;
    ...
}
Run Code Online (Sandbox Code Playgroud)

这是在函数中返回整数值的有效方法吗?

c pointers

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

Erlang:输出问题

在我的erlang Web应用程序中,有一个列表,其中包含要在网页上打印的整数.但是当脚本执行时,它打印出来,而不是实际的列表,

请查看此图像,显示unicode代码点1,1,2,3,5,8,空白,代码点15的字符

如何格式化以获得我想要的东西?目标列表为[1,1,2,3,5,8,13,15]

erlang erlangweb

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

标签 统计

c ×4

arrays ×2

erlang ×2

javascript ×2

pointers ×2

ada ×1

assembly ×1

binary ×1

constants ×1

disassembly ×1

elixir ×1

erlangweb ×1

gcc ×1

git ×1

html ×1

html5 ×1

include ×1

io ×1

numpy ×1

python ×1

rabbitmq ×1