以下代码有什么问题?
name='$filename | cut -f1 -d'.''
Run Code Online (Sandbox Code Playgroud)
因为,我得到文字字符串$filename | cut -f1 -d'.',但如果我删除引号,我什么都没得到.同时打字
"test.exe" | cut -f1 -d'.'
Run Code Online (Sandbox Code Playgroud)
在shell中给我输出我想要的输出test.我已经知道$filename已经分配了正确的价值.我想要做的是为变量分配没有扩展名的文件名.
我在使用开放式SuSE 12.1的Linux机器上安装了Android SDK.我已经使用这两台机器多次成功构建Android应用程序,并使用用于测试的调试密钥和来自我自己的密钥库的发布密钥对它们进行签名,因此它应该位于每台计算机上的某个位置.
使用命令
jarsigner
Run Code Online (Sandbox Code Playgroud)
但是,返回两台计算机上的命令not found错误.我查看了Android SDK文件夹,Windows上的JDK文件夹和/ usr/lib64/jvm /,但它不是我看过的任何地方.
我认为它必须是一个不同的名称.我也跑:
find -name jarsigner
Run Code Online (Sandbox Code Playgroud)
在Linux机器上的整个系统没有成功.
鉴于输入:
double x1,y1,x2,y2;
Run Code Online (Sandbox Code Playgroud)
如何找到一般形式方程(双a,b,c,其中ax + by + c = 0)?
注意:我希望能够以计算方式完成此操作.所以斜率截距形式的等价物将是这样的:
double dx, dy;
double m, b;
dx = x2 - x1;
dy = y2 - y1;
m = dy/dx;
b = y1;
Run Code Online (Sandbox Code Playgroud)
显然,这很简单,但我还没有找到通用方程式的解决方案(因为它可以做垂直线,所以更有用).我已经查看了我的线性代数书和两本关于计算几何的书(两者都很先进,无法解释这一点).
我正在将某个数据处理算法从Java移植到C++.重写代码的原因是可移植性,它需要在Java不可用的环境中运行.然而,作为附带的好处,预计会有一些性能提升.
基本上,该算法从由具有彼此指针的对象组成的图中读取数据,然后计算结果.在计算过程中会进行大量的对象分配,因此这可能是造成减速的原因.问题是,C++代码目前运行速度比旧Java代码快10倍.这真是出乎意料.我只觉得我会看到改善50-60%.
不幸的是,我不能自由地在这里发布代码进行分析.这是几千行,所以我不确定无论如何都会有多方便.
问题是,算法几乎完全相同.我能想到的唯一主要区别是在Java中有一个超级类的子类很多,if(object.getClass()== daughterx.class)在计算过程中被多次调用而在C++代码中只有一个通用使用class(因为子类之间的代码差异很少)并且使用简单的整数比较,例如.if(object-> type == 15)
Java中的Object.getClass()方法有多贵?调用此方法时,在低级别发生了什么?
以下代码是否可以接受?
if(vector.size() > 0 && vector[0] == 3) {
}
Run Code Online (Sandbox Code Playgroud)
或者当向量为空时它是否会崩溃?我没有注意到这种情况,但我担心它仍然可能.
如果我有六个变量代表一般方程式中的两行(ax + by + c = 0).例如:
ax + by + c = 0
jx + ky + l = 0
Run Code Online (Sandbox Code Playgroud)
如何从六个变量中找到交叉点(x和y)[假设有一个]?
PS.任何关于非常简单的计算几何的信息的良好来源的推荐都是值得赞赏的.
我在Linux上尝试使用time -p命令,并编写了一些代码来浪费CPU周期:
#include <iostream>
using namespace std;
int main() {
long int c;
long int ss;
for(c = 0;c < 10000000;c++) {
ss += c*c;
}
cout<<ss<<endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
然而,在运行几次之后我发现了一些有趣的东西:
me@octopus:~/Desktop> ./test
1292030741067648912
me@octopus:~/Desktop> ./test
1292030742538841328
me@octopus:~/Desktop> ./test
1292030742228685600
me@octopus:~/Desktop> ./test
1292030740402651312
me@octopus:~/Desktop> ./test
1292030740207543344
me@octopus:~/Desktop> ./test
1292030740346553856
me@octopus:~/Desktop> ./test
1292030741629275040
me@octopus:~/Desktop> ./test
1292030740397307072
me@octopus:~/Desktop> ./test
1292030742928964784
me@octopus:~/Desktop> ./test
1292030741780094096
Run Code Online (Sandbox Code Playgroud)
我不仅每次都得到相同的数字,正如我所料,我甚至没有得到相同的数字.这里发生了什么?