我正试图找到每个日期并在其周围加上引号.我认为这应该是:
M-x replace-regexp 201\d-\d\d-\d\d <ret> '\&'
我也试过[0-9]而不是\d.
它不起作用.但是使用isearch-forward-regexp我可以输入[0-9][0-9]并观看目标突出显示.替换时我做错了什么?
我有一个奇怪的问题,我想知道为什么g ++ 4.1.2的行为方式.
剥夺其基本要素:
#include <iostream>
template<typename T>
inline void f(T x) { std::cout << x*x; }
namespace foo {
class A {
public:
void f() const { f(2); }
};
}
Run Code Online (Sandbox Code Playgroud)
调用f(2)失败,因为编译器无法匹配模板函数f.我可以使用它,::f(2)但我想知道为什么这是必要的,因为它是完全明确的,并且就我的(公认的过时)匹配规则的知识而言,这应该工作.
我们有一个cvs存档,我可以得到我想要的任何文件的任何版本.但是,是否有任何方法可以获取特定日期和时间的代码?我没有看到任何要求的选项.我希望能够日复一日地浏览cvs存档并自动执行指标,也许可以随时查看代码发生的变化.
据我所知,微软在其最新版本的办公室中使用了某种基于xml的表示法.如果这是真的,那么我会假设版本控制可以工作,虽然你显然必须用旧的解决任何嵌入式更改
<<<<<<
======
>>>>>>
Run Code Online (Sandbox Code Playgroud)
在加载单词之前标记它们.
这个问题提到了另一个问题,但似乎已经认定版本控制根本不适用于Word,我想知道为什么?
毫无疑问,该标准将需要数年才能实现,因为它看起来很棒,所以很臭.但我正在阅读它,至少库添加(特别是哈希映射)会立即真正有用.我注意到在g ++文档中我可以获得4.3或更高版本并使用标志来请求新功能,无论存在什么,但我想知道是否有任何方法可以获得库.现在内置的许多最好的增强功能非常棒,最后内置了一个像样的随机数设备!
那么,有没有我现在可以使用的编译器有一个相当完整的库,即使它不能使用一些很酷的新语言功能,如汽车?
我有兴趣实现一个干净的解决方案,为3D转换提供4x4矩阵的替代方案.四元数提供等效的旋转,但没有翻译.因此,除了Quaternion之外,还需要一个额外的平移向量(tx,ty,tz).我一直看到它表明你需要12个矩阵表示值,而基于四元数的表示只需要7个.
我不明白的是如何操纵翻译价值.
对于四元数的旋转,没问题.
对于矢量v,轴矢量x和角度a:
q = cos(a/2) + x sin(a/2)
Run Code Online (Sandbox Code Playgroud)
要旋转矢量:
v' = qvq^-1
Run Code Online (Sandbox Code Playgroud)
对于多个旋转,您可以将变换应用于四元数,并且只有在进行最终旋转时才必须将其应用于数据.这就是矩阵变换在3D图形系统中非常好的原因.
好的,现在如果翻译进入,我该怎么办?
给定的向量转换是:
T = (tx,ty,tz)
v' = qvq^-1 + T
Run Code Online (Sandbox Code Playgroud)
如果我想对此应用旋转和平移操作,我将不得不修改T和q.结果应该是什么?
在Ubuntu 14.04上使用gcc 4.8.2编译openssl示例.
gcc SSLsample.c -lssl3
Run Code Online (Sandbox Code Playgroud)
链接器提供未定义的符号:
SSLsample.c:(.text+0x25d): undefined reference to `EVP_CIPHER_CTX_new'
SSLsample.c:(.text+0x272): undefined reference to `EVP_aes_256_cbc'
SSLsample.c:(.text+0x294): undefined reference to `EVP_DecryptInit_ex'
SSLsample.c:(.text+0x2bc): undefined reference to `EVP_DecryptUpdate'
SSLsample.c:(.text+0x2ed): undefined reference to `EVP_DecryptFinal_ex'
SSLsample.c:(.text+0x309): undefined reference to `EVP_CIPHER_CTX_free'
collect2: error: ld returned 1 exit status
make: *** [sample] Error 1
Run Code Online (Sandbox Code Playgroud)
引擎下有很多库,但它们被列为备用实现,主要实现是什么?
与-lssl和-lcrypt链接的建议听起来不错,但看起来:
gcc SSLsample.c -lssl -lcrypt
/tmp/cczNovmQ.o: In function `main':
SSLsample.c:(.text+0x4a): undefined reference to `ERR_load_crypto_strings'
SSLsample.c:(.text+0x4f): undefined reference to `OPENSSL_add_all_algorithms_no\
conf'
SSLsample.c:(.text+0x59): undefined reference to `OPENSSL_config'
SSLsample.c:(.text+0xc6): undefined reference to `BIO_dump_fp' …Run Code Online (Sandbox Code Playgroud) 我正在写一个STL文件,它由一个80字节的头,一个4字节的整数组成,然后是50个字节的记录,每个字节由浮点数和一个短整数组成.
使用RandomAccessFile我可以轻松地写入数据,但速度非常慢.它使用与DataOutputStream相同的接口.如果有一种简单的方法来缓冲数据输出流,我可以使用它,但烦人的部分是需要写出所有记录,并在最后计算三角形输出的数量,并将该整数写入字节81- 84.
直截了当但缓慢的方式,只关注大部分工作,即写下每个方面:
public static void writeBinarySTL(Triangle t, RandomAccessFile d) throws IOException {
d.writeFloat((float)t.normal.x);
d.writeFloat((float)t.normal.y);
d.writeFloat((float)t.normal.z);
d.writeFloat((float)t.p1.x);
d.writeFloat((float)t.p1.y);
d.writeFloat((float)t.p1.z);
d.writeFloat((float)t.p2.x);
d.writeFloat((float)t.p2.y);
d.writeFloat((float)t.p2.z);
d.writeFloat((float)t.p3.x);
d.writeFloat((float)t.p3.y);
d.writeFloat((float)t.p3.z);
d.writeShort(0);
}
Run Code Online (Sandbox Code Playgroud)
是否有任何优雅的方法将这种二进制数据写入块状快速I/O类?
在我看来,STL文件格式应该首先是低字节,Java可能是高字节优先.所以也许我的所有writeFloats都是徒劳的,我必须找到一个手动转换,以便它以小端形式出现?
如果必须,我愿意关闭文件,最后在randomaccessfile中重新打开,寻找字节81并写入计数.
因此,此编辑是对应该起作用的问题的两个答案的回应.第一个是添加BufferedWriter.结果非常快.我知道这台笔记本电脑是高端的SSD,但我并不期待这种性能,更不用说来自Java了.只需缓冲输出,在0.5秒内写入96Mb文件,在1.5秒内写入196Mb.
为了了解nio是否会提供更高的性能,我试图通过@ sturcotte06实现解决方案.代码不会尝试写标题,我只关注每个三角形的50字节记录.
public static void writeBinarySTL2(Shape3d s, String filename) {
java.nio.file.Path filePath = Paths.get(filename);
// Open a channel in write mode on your file.
try (WritableByteChannel channel = Files.newByteChannel(filePath, StandardOpenOption.CREATE)) {
// Allocate a new buffer.
ByteBuffer buf = ByteBuffer.allocate(50 * 1024);
ArrayList<Triangle> triangles = s.triangles;
// Write …Run Code Online (Sandbox Code Playgroud) Sybase手册和大量示例声称我可以写:
create table run_log (
run_id integer not null default autoincrement
);
Run Code Online (Sandbox Code Playgroud)
但Sybase 15表示存在语法错误 default
在当前的g ++中,我通常包含所有模板化函数,它们将模板参数作为参数,因为必须为每个实例编译它们.
template<typename T>
class A {
public:
void f() { ... }
};
Run Code Online (Sandbox Code Playgroud)
所以在不同的来源中,我会写:
#include <A.hh>
A<int> a1;
a1.f();
A<double> a2;
a2.f();
Run Code Online (Sandbox Code Playgroud)
有时,当我一直急于不内联大方法时,我已经手动指定了哪些类将在源文件中使用,但它确实令人讨厌:
template<typename T>
A::A() { ... }
template<typename T>
void A::f() { ... }
A<int>; // manually trigger code generation for int and double
A<double>;
Run Code Online (Sandbox Code Playgroud)
显然,不同的IDE和编译器都有支持这一点的机制.是否有任何标准强制要求,和/或g ++是否支持这样的事情?