小编mlv*_*ljr的帖子

如何从Scala中获取Scala版本?

这与命令行编译器选项无关.如何以编程方式获取代码中的Scala版本?

或者,Eclipse Scala插件v2在哪里存储路径scalac

scala version

84
推荐指数
4
解决办法
7万
查看次数

您对"大规模C++软件设计"的看法

阅读亚马逊ACCU评论表明John Lakos的书" 大规模C++软件设计"可能是用于模块化的Rosetta Stone.

与此同时,这本书似乎非常罕见:没有多少人读过这本书,也没有盗版电子拷贝.

所以你怎么看?

c++ architecture package-design

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

MySQL":: 1"主机名是指什么?

在新安装的(Windows版本)MySQL 5.5.9上

SELECT user, host FROM mysql.user
Run Code Online (Sandbox Code Playgroud)

得到:

user            host    

root        localhost   
root        127.0.0.1    
root        ::1  
localhost    
Run Code Online (Sandbox Code Playgroud)

但IP /主机名在::1这里代表什么?

mysql ip hostname

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

设置`axes.linewidth`而不更改`rcParams`全局字典

因此,似乎无法执行以下操作(它会引发错误,因为axes没有set_linewidth方法):

axes_style = {'linewidth':5}
axes_rect = [0.1, 0.1, 0.9, 0.9]

axes(axes_rect, **axes_style)
Run Code Online (Sandbox Code Playgroud)

并且必须使用以下旧技巧:

rcParams['axes.linewidth'] = 5 # set the value globally

... # some code

rcdefaults() # restore [global] defaults
Run Code Online (Sandbox Code Playgroud)

有一个简单/干净的方式(可能是一个人可以设置x- 和y- 轴参数单独,等)?

PS如果不是,为什么?

python graphing plot matplotlib

27
推荐指数
3
解决办法
4万
查看次数

如何从命令行构建一个.csproj,并将日志写入指定位置?

虽然'no-log'版本似乎可以顺利运行

"c:\ Program Files\Microsoft Visual Studio 9.0\Common7\ide\VCSExpress"Project1.csproj/build

以下失败:

"c:\ Program Files\Microsoft Visual Studio 9.0\Common7\ide\VCSExpress"Project1.csproj/build /Log=log.txt

显示带有此文本的窗口:

缺少开关参数./ build开关所需的配置名称.

使用:vcsexpress [solutionfile | projectfile | anyfile.ext] [开关]

vcsexpress的第一个参数通常是解决方案文件或项目文件.如果要在编辑器中自动打开文件,也可以使用任何其他文件作为第一个参数.当您输入项目文件时,IDE将查找与项目文件的父目录中的项目文件具有相同基本名称的.sln文件.如果不存在此类.sln文件,则IDE将查找引用该项目的单个.sln文件.如果不存在这样的单个.sln文件,则IDE将创建一个未保存的解决方案,其默认的.sln文件名与项目文件具有相同的基本名称.

命令行构建:vcsexpress solutionfile.sln/build [solutionconfig] [/ project projectnameorfile [/ projectconfig name]]可用的命令行开关:

/ Log将IDE活动记录到指定的文件以进行故障排除./ ResetSettings恢复IDE的默认设置,可选择重置为指定的VSSettings文件./ SafeMode以安全模式启动IDE,加载最小窗口.

产品专用开关:

要从命令行附加调试器,请使用:VsJITDebugger.exe -p

[我正在使用Visual Studio 2008 Express]

所以,问题是:

  • 有没有办法确保日志文件写在某处?

  • 或者/Log只在IDE以GUI模式运行时才使用交换机?如果是这样,有解决方法吗?

c# command-line build visual-studio-2008

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

QML组件范围拼图

拿这个代码:

import QtQuick 1.1

Rectangle {
    width:  100
    height: 100

    property color fromColor: "red"
    property color toColor:   "blue"

    gradient: Gradient {
        property color fromColor: "yellow"
        property color toColor:   "green"

        GradientStop { position: 0; color: fromColor }
        GradientStop { position: 1; color: toColor }
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么究竟该Gradient挑选了fromColortoColor特性从封闭元素?

这在哪里记录(至少在源代码评论中,在官方文档中更好)?

注意:这个"QML混淆示例来自Girish Ramakrishnan的谈话Qt快速最佳实践和设计模式(倒带到第25分钟),在那里他确实说事情非常复杂,并且必须具有组件范围等,但没有时间解释原因.

[UPDATE]

因此,正如MartinJ在下面所述,element-property(不仅是element-child)层次结构中的顶级组件的属性对所有属性都是可见的,但是深层嵌套,优先级是属性的属性,以及所有属性完全看不到"中间"物品.

这是一个小例子:

import QtQuick 1.1

Item {
    Item {
        property string s: "parent-str"
        Item { Component.onCompleted: console.log(s) }
    }
}
Run Code Online (Sandbox Code Playgroud)

这给出了: "ReferenceError: …

obfuscation scope qml

10
推荐指数
1
解决办法
2345
查看次数

QCheckBox:如何区分用户引发的状态更改和以编程方式进行的更改?

我是否遗漏了某些东西或者没有(现成/内置)方式以编程方式更改QCheckBox的状态而不会发出"void stateChanged(int state)"信号?

无论是否调用"void setCheckState(Qt :: CheckState state)"或者用户是否通过ui改变了状态,都会发出上述信号,并且没有像QLineEdit那样的"stateEdited"信号.

因此,如果没有现成的方法来区分编程和用户引发的QCheckBox状态的变化,并且唯一的选择是子类化/添加"stateEdited"信号或摆弄"void QObject :: blockSignals(bool block) ",为什么必须如此,即它是(某种)不一致(在Qt中)?

qt qt4 pyqt pyqt4 qcheckbox

8
推荐指数
2
解决办法
4181
查看次数

"读取"POD预增量结果不会产生未定义的行为.为什么呢?

这是一个愚蠢的问题.:)

[编辑:愚蠢与否,这结果是一个C++特殊问题,请参阅UPDATE_2]

假设我们有:

int a = 0; // line 1
int b = ++a; // line 2
Run Code Online (Sandbox Code Playgroud)

第2行发生的事情是(注意,数字只是标记,不指定确切的顺序):

                      = [1: write result of (3) to result of (2)]
                     /\
[2: take "b" l-value] [3: convert result of (4) to an r-value ]
                      |
                      [4: take "a" l-value, "increment" and return it]
Run Code Online (Sandbox Code Playgroud)

(4)中的"写入"在(3)中的"读取"之前是"有序"的,并且由于之间没有序列点,所以不能保证在(3)之前发生副作用(还有"读"inside(4)本身,但 "write" 之前订购,这样就不会产生UB).

那么,上面的错误在哪里?

[更新,针对没有经验丰富的序列点律师:)]

换句话说,问题是:

  1. 似乎存在"竞争"是否首先发生l值到r值转换("读取")或增量("写入")副作用.

  2. 在C中,根据JTC1/SC22/WG14 N926"序列点分析"*,将给出UB(参见,例如,实施例5 :)int x,y; (x=y) + x; // UB.

  3. 注意,这不会是一个的情况下应后增由于被使用(3)和(4)将构成一个单一的 [(3):以"A" …

c c++ standards language-lawyer

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

WGL:没有双缓冲+多次采样=失败?

我通常使用wglChoosePixelFormatARB()这些参数(以及其他参数)创建像素格式:

WGL_DOUBLE_BUFFER_ARB = GL_TRUE
WGL_SAMPLE_BUFFERS_ARB = GL_TRUE
WGL_SAMPLES_ARB = 4
Run Code Online (Sandbox Code Playgroud)

即双缓冲和x4多重采样.这很好用.
但是当我尝试转换双缓冲时:

WGL_DOUBLE_BUFFER_ARB = GL_FALSE
WGL_SAMPLE_BUFFERS_ARB = GL_TRUE
WGL_SAMPLES_ARB = 4
Run Code Online (Sandbox Code Playgroud)

调用wglChoosePixelFormatARB()失败(或者说它没有创建任何东西)
当我有效地关闭多重采样时:

WGL_DOUBLE_BUFFER_ARB = GL_FALSE
WGL_SAMPLE_BUFFERS_ARB = GL_TRUE
WGL_SAMPLES_ARB = 1
Run Code Online (Sandbox Code Playgroud)

我再次正常工作.

有没有固有的东西阻止非双缓冲像素格式与多重采样一起使用?

我正在关闭双缓冲的原因是为了实现无约束的帧速率.使用双缓冲,我得到的帧速率仅高达60 FPS(这款笔记本电脑液晶显示器的工作频率为60Hz).但是通过双缓冲关闭,我可以达到1500 FPS.有没有办法通过双缓冲来实现这一目标?

opengl multisampling frame-rate doublebuffered wgl

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

QML中继器:父/子与所有权

任何人都可以帮助我澄清QML Repeater docs首先说的意思

"由Repeater实例化的项目按顺序插入,作为Repeater父项的子项.",

然后

"注意:Repeater项目拥有它实例化的所有项目.删除或动态销毁由Repeater创建的项目会导致不可预测的行为."?

QML中的可视对象的子/父关系和所有权是否相同?

qt parent parent-child qml

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

尝试换行并覆盖全局运算符new时的递归调用

我没有编程的C++了一会儿,用重载全球运营商玩弄时遇到一个奇怪的行为newdelete.问题的本质似乎是围绕默认全局的包装器构建new并驻留在单独的源文件中,然而operator new 在另一个(并且单独编译)源文件中调用了重载.

为什么会这样,即我违反/滥用哪种语言规则/功能?

在此先感谢,详情如下.

项目结构:

.
..
main.cpp
mem_wrappers.h
mem_wrappers.cpp
Run Code Online (Sandbox Code Playgroud)

项目文件内容:

main.cpp中

#include "./mem_wrappers.h"
#include <iostream>
#include <cstring>


void* operator new[] (size_t sz) throw (std::bad_alloc) {
  std::cout << "overloaded new()[]" << std::endl;
    return default_arr_new_wrapper(sz);
}


int main() {
    const unsigned num = 5;
    int * i_arr = new int [num];

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

mem_wrappers.h

#include <cstring>


void * default_arr_new_wrapper(size_t sz);
Run Code Online (Sandbox Code Playgroud)

mem_wrappers.cpp

#include <new>
#include <cstring>
#include <iostream>


void * default_arr_new_wrapper(size_t …
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading new-operator

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