小编Nea*_*eal的帖子

如何在gcc中禁用编译器优化?

我正在努力学习汇编语言.我搜索并发现如何反汇编.c文件,但我认为它产生了一些优化版本的程序.有什么办法可以让我看到与我的C文件对应的确切汇编代码.

c gcc compiler-optimization compiler-options

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

mfence和asm volatile之间的差异("":::"memory")

据我所知,mfence硬件内存屏障asm volatile ("" : : : "memory")是一个编译器障碍.但是,可以asm volatile ("" : : : "memory")用来代替mfence.

我迷惑的原因是这个链接

x86 gcc memory-barriers

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

如何仅使用循环和增量来实现减法

这是一个面试问题.我们只有两个结构

  1. loop(a) 意味着循环一次.
  2. increment(a) 递增a.

因此,为了实现a + b,可以编写

loop(a) {inc(b)} 
return b;
Run Code Online (Sandbox Code Playgroud)

问题是如何实施ab.

loops subtraction

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

如何处理mpi中的情况,其中要接收的消息数是未知的

我有一个MPI程序,每个节点都会向其他节点发送一些值.发件人知道哪些节点发送数据但接收者不知道1)在他们的结束时预期有多少数据,2)哪些等级将发送给它.

我可以使用MPI_ANY_SOURCE来解决上述问题的第二部分,但我不知道接收器如何知道它必须接收多少.即我应该在接收节点的MPI中调用接收函数多少次.

mpi

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

从perforce历史记录中删除提交的更改列表

我不小心向我的perforce服务器提交了一个错误的更改列表.然后,我使用"退出更改列表"选项撤消了更改列表.但是,这两个更改出现在所有受影响文件的历史记录中,它们曾被删除,然后再次添加回来.

我希望能够从这两个更改列表的perforce服务器中删除历史记录.可能吗.可以通过一些Perforce管理员命令来完成.

编辑:我已经看到p4 change -d -f哪些可以删除更改列表,但这需要对更改列表中的文件使用p4 obliterate.这是否意味着我必须删除受更改列表影响的所有文件.这对我来说似乎不是一个可行的解决方案,因为我不想删除这些文件.由于两个提交的更改列表,我是否应该仅删除文件的特​​定两个修订版本?

perforce changelist

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

在C++中从对向量转换为两个独立向量的最快方法

可以说我有一个vectorpair<int,int>.现在我想提取pair.firstpair.second作为独立的向量.我可以迭代向量并执行此操作但是有更好/更快的方法吗?

c++ vector

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

彼得森在共享内存中的锁定问题

我已经在共享内存中实现了彼得森的互斥算法。我在 c++ 和 java 进程(使用 jni)之间使用共享内存进行通信。问题是我仍然以某种方式看到竞争条件。如果我尝试使用 printf/println 调试它,代码开始运行良好,但是一旦我删除这些打印件,进程就会停止。有人可以请教我问题出在哪里吗?我很确定彼得森算法的实现是正确的。我应该使用 semaphores(semget()) 来代替互斥吗?

c++ java-native-interface locking shared-memory mutual-exclusion

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

哪个性能更好?

可能重复:
导入包.*vs import package.SpecificType

虽然导入所有类或者使用特定的导入更好,但在java中导入包是否重要.例如,最好使用import java.util.*或导入我的程序使用的util包的特定类.

java import package

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