我知道有这种类似的问题,但在编译不同的文件以不同的标志是不是在这里接受的解决办法,因为这将复杂的代码库真正的快.回答"不,这是不可能的"将会做到.
在任何版本的Clang OR GCC中,是否可以为SSE 2/3/3S/4.1编译内在函数,同时只允许编译器使用SSE指令集进行优化?
编辑:例如,我想编译器转_mm_load_si128()来movdqa,但在任何其他地方比这内在功能,类似于MSVC编译器是如何工作的编译器不可以做发射该指令.
EDIT2:我有动态调度程序和几个版本的单个函数,使用内在函数编写不同的指令集.使用多个文件会使维护更加困难,因为相同版本的代码将跨越多个文件,并且有很多这种类型的函数.
EDIT3:请求的示例源代码:https://github.com/AviSynth/AviSynthPlus/blob/master/avs_core/filters/resample.cpp或该文件夹中的大多数文件.
所以我有这个比较器:
import java.util.Comparator;
public class SolutionComparator implements Comparator<ExpressionTree> {
private final int target;
public SolutionComparator(int target) {
this.target = target;
}
@Override
public int compare(ExpressionTree o1, ExpressionTree o2) {
int v1 = o1.getValue();
int v2 = o2.getValue();
if (v1 == -1 && v2 == -1)
return 0;
else if (v1 == -1)
return 1;
else if (v2 == -1)
return -1;
else if (v1 == v2)
return (int)Math.signum(solutionCost(o1) - solutionCost(o2));
else
return (int)Math.signum(Math.abs(target-v1) - Math.abs(target-v2));
}
private int solutionCost(ExpressionTree v) …Run Code Online (Sandbox Code Playgroud) 所以我有一个像这样的sceneu2.ui表:
+--------------------------------------+
|+---------+ +------------+ +---------+|
|| Table 1 | | ScrollPane | | Table 2 ||
|+---------+ +------------+ +---------+|
+--------------------------------------+
| My Actor |
+--------------------------------------+
Run Code Online (Sandbox Code Playgroud)
里面scrollpane是另一个table.外壳也是一个table.Table 1,Table 2并且table里面scrollpane有相同数量的行.
My Actor 是简单的图像按钮actor,也支持鼠标悬停.
问题是,My Actor最初没有出现(但是它的边界存在 - 由表调试行检查)但是当我滚动某些东西scrollpane(用鼠标)时它会出现2秒钟,然后开始逐渐消失.(预期结果应始终显示)
我究竟做错了什么?
本My Actor类:
public class GameButton extends Actor {
public static abstract class Listener {
public abstract void onClick();
}
final Texture[] current;
final Listener …Run Code Online (Sandbox Code Playgroud)