小编Nic*_*ick的帖子

为什么我不能在char*和unsigned char*之间进行static_cast?

显然,编译器认为它们是不相关的类型,因此reinterpret_cast是必需的.为什么这是规则?

c++ char static-cast unsigned-char reinterpret-cast

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

在C++中初始化const字符串的静态const数组

我在初始化常量字符串的常量数组时遇到问题.

从week.h(仅显示相关部分):

class Week {
  private:
    static const char *const *days = { "mon", "tue", "wed", "thur",
                                       "fri", "sat", "sun" };
};
Run Code Online (Sandbox Code Playgroud)

当我编译时,我得到错误"标量初始化器中的多余元素".我试着把它变成const char**,认为我弄乱了第二个const位置,但是我得到了同样的错误.我究竟做错了什么?

c++ compiler-errors initialization const

29
推荐指数
2
解决办法
5万
查看次数

C/C++最快的cmath日志操作

我正在尝试计算log a b(并获得一个浮点,而不是一个整数).我打算这样做log(b)/log(a).从数学上讲,我可以使用任何cmath日志函数(基数2,e或10)来进行此计算; 但是,我会在我的程序中运行这个计算很多,所以我想知道其中一个是否比其他程序快得多(或者更好的是,如果有更快,但仍然很简单的方法).如果重要,a和b都是整数.

c c++ logarithm math.h cmath

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

查找数据段的地址范围

作为一个编程练习,我在C中编写了一个标记 - 清除垃圾收集器.我希望扫描数据段(全局等)以获得指定内存的指针,但我不知道如何获取范围该段的地址.我怎么能这样做?

c garbage-collection memory-management global-variables memory-layout

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

printf for size_t

有没有什么办法让printf一个size_t没有任何第一投射,或产生编译器警告?(我总是编译-Wall.)

printf gcc size-t string-formatting

15
推荐指数
1
解决办法
3305
查看次数

广义矩阵乘积

我是MATLAB的新手.M×K矩阵乘以K×N矩阵的正规矩阵乘法C = A * B- 具有c_ij = sum(a_ik * b_kj, k = 1:K).如果我希望将其替换c_ij = sum(op(a_ik, b_kj), k = 1:K)为一些简单的二进制操作,该op怎么办?有没有什么好的方法可以在MATLAB(或者甚至是内置函数)中对它进行矢量化?

编辑:这是我能做的最好的.

% A is M x K, B is K x N
% op is min
C = zeros(M, N);
for i = 1:M:
    C(i, :) = sum(bsxfun(@min, A(i, :)', B));
end
Run Code Online (Sandbox Code Playgroud)

matlab vectorization matrix-multiplication bsxfun

8
推荐指数
1
解决办法
799
查看次数

在ATLAS中构建共享库

我已经阅读了整个ATLAS安装指南,它表示构建共享(.so)库所需的只是将--shared标志传递给configure脚本.然而,当我建,唯一.so出现在我的文件lib夹是libsatlas.solibtatlas.so,虽然指南说,应该有六人:

libatlas.so, libcblas.so, libf77blas.so, liblapack.so, libptcblas.so, libptf77blas.so
Run Code Online (Sandbox Code Playgroud)

安装后,某些测试失败,因为缺少这些库.此外,FFPACK在安装期间需要这些库.

有没有遇到过这个?我做错了什么?

installation shared-libraries lapack atlas

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

如果编译Python的exec和eval?

eval和exec的等价物是否可以用编译语言存在?如果是这样,他们将如何编译(粗略地说)?

python eval compilation exec

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

qmake生成的Makefile中缺少QtWebKit依赖项

我刚开始使用Qt(用C++编写),所以我按照我在网上找到的"你好,世界"的例子.我在目录hello中创建了程序hello.cpp:

#include <QtGui>

int main(int argc, char *argv[]) {
    QApplication app (argc, argv);
    QLabel label ("Hello, world!");
    label.show();
    return app.exec();
}
Run Code Online (Sandbox Code Playgroud)

我跑了:

qmake -project
qmake hello.pro
make
Run Code Online (Sandbox Code Playgroud)

一切都正确编译,我能够运行./hello.然后,作为一个冒险的人,我尝试修改文件:

#include <QtGui>
#include <QtWebKit>

int main(int argc, char *argv[]) {
    QApplication app (argc, argv);
    QLabel label ("Hello, world!");
    QWebPage page;
    label.show();
    return app.exec();
}
Run Code Online (Sandbox Code Playgroud)

我重申了这三个命令,但现在当我运行make时,我收到以下错误:

hello.cpp:2: fatal error: QtWebKit: No such file or directory
compilation terminated.
make: *** [hello.o] Error 1
Run Code Online (Sandbox Code Playgroud)

我检查了Makefile,并将INCPATH变量定义为

INCPATH = -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I.
Run Code Online (Sandbox Code Playgroud)

它显然缺少-I/usr/include/qt4/QtWebKit.LIBS变量也缺少-lQtWebKit.手动添加这些会导致编译成功.我究竟做错了什么?我需要添加什么才能使qmake生成正确的Makefile?

c++ qt qmake makefile file-inclusion

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

C#的Selenium RC编译警告

当我在VS 2010(.NET 4.0)中编译我的代码时,我收到以下警告:

"警告1:引用的程序集"ThoughtWorks.Selenium.Core"无法解析,因为它依赖于"System.Web,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a",它不在当前目标中框架".NETFramework,Version = v4.0,Profile = Client".请删除对目标框架内不存在的程序集的引用或考虑重新定位项目."

(它称之为警告但它确实是一个错误,因为Selenium命名空间因此无法使用.)我尝试添加/删除对System.Web命名空间的引用而没有运气.有谁知道如何解决这一问题?

c# compiler-warnings selenium-rc

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