小编kir*_*off的帖子

编译Python,为什么忽略了一些错误的东西?

我写了一个错误的Python例程:false而不是False.但是,在汇编时没有发现它.该程序必须运行到此行以通知错误行为.

为什么会这样?Python解释器/编译器中的东西是如何使它工作的呢?

你有一些参考吗?

python compiler-construction interpreter compilation

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

提示查找表设置位计数算法

我正在寻找设置位计数问题的解决方案(给定二进制数,如何有效地计算设置的位数).

在这里,http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetNaive,我找到了一些方法.

查找表方法怎么样?我不明白二进制表示/数字的哪些属性使它工作.

static const unsigned char BitsSetTable256[256] = 
{
#   define B2(n) n,     n+1,     n+1,     n+2
#   define B4(n) B2(n), B2(n+1), B2(n+1), B2(n+2)
#   define B6(n) B4(n), B4(n+1), B4(n+1), B4(n+2)
   B6(0), B6(1), B6(1), B6(2)
};

unsigned int v; // count the number of bits set in 32-bit value v
unsigned int c; // c is the total bits set in v

// Option 1:
c = BitsSetTable256[v & 0xff] + 
   BitsSetTable256[(v >> 8) & 0xff] + 
   BitsSetTable256[(v …
Run Code Online (Sandbox Code Playgroud)

binary operations numbers count representation

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

Nullsoft脚本安装系统(NSIS)安装程序 - 静默模式

如何使Nullsoft脚本安装系统(NSIS)安装程序无声?

来自维基百科:

"Nullsoft Scriptable Install System(NSIS),est un logiciellibrecontrôlablepascript,qui permetlacréationd'installateurspour Windows.IlaétéinitialementdéveloppéparNullsoft,lasociétécréatricedeWinamp.NSIS est une alternative aux produits commerciaux,comme的InstallShield.

NSIS编译器程序makensis将以下示例中的脚本编译为可执行安装程序.脚本中的每一行都包含一个命令."

# Example script

Name "Example1"
OutFile "example1.exe"
InstallDir "$PROGRAMFILES\Example1"
Page Directory
Page InstFiles
Section
  SetOutPath $INSTDIR
  File ..\makensis.exe
SectionEnd  
Run Code Online (Sandbox Code Playgroud)

installer nsis build silent silent-installer

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

C++禁止指针转换指针

在C++中,Type **Type const **转换被禁止.此外,不允许从转换derived **Base **.

为什么这些转换会重要?还有其他例子指向指针转换的指针不会发生吗?

有没有办法解决:如何将指向指向非const类型对象的指针转换为指向类型的const对象的Type指针Type,因为Type **- > Type const **不成功?

c++ pointers type-conversion

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

c ++在if ... else中为const QList赋值

我想const QList根据指针的值为a赋值.

invar是一个指针,如果它是NULL我想要分配第一个值const QList mylist,如果不是NULL,另一个值.但是观察到了正确性:我不打算在mylist之后改变价值.

是否有可能

if(invar)
    const QList<Type> zoneList = invar->getZones();
else
    const QList<Type> zoneList = aList ;
Run Code Online (Sandbox Code Playgroud)

zoneList确切地定义了一次,为什么这不起作用?

另外,正如我zoneList在我的方法的下一部分中使用的那样,我得到了这个编译错误:undeclared identifier.

但我也不允许这样写

    const QList<Type> zoneList ;

    if(invar)
        zoneList = invar->getZones();
    else
        zoneList = NULL ;
Run Code Online (Sandbox Code Playgroud)

我有编译器错误错误1

error C2678: binary '=' : no operator found which takes a left-hand operand of type 'const QList<T>' (or there is no acceptable conversion)  
Run Code Online (Sandbox Code Playgroud)

是否可以根据条件为此const QList分配两个不同的值?那么写它的正确方法是什么?

c++ const const-correctness variable-assignment conditional-statements

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

尝试 - 除了python

我目前正在尝试解析HTML页面.在这样做时,我必须执行

  1. 搜索特定字符串并执行一些步骤.(如果此操作失败,请转到步骤b)
  2. 使用不同的代码搜索特定字符串并执行一些步骤.(如果此操作失败,请转到步骤3)
  3. 使用不同的代码搜索特定字符串并执行一些步骤.

我这样做,我的问题是如果我必须多次尝试,如何指定尝试和除外.

try:   
    #step 1 

except: #   ( not sure what kind of error will execute step2) 
    #step 2

except:
    #step 3
Run Code Online (Sandbox Code Playgroud)

谢谢

python

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

为什么或为什么不在C++中使用memset?

我必须维护一个程序中有很多memset.在现代C++中使用memset是一个好习惯吗?

为什么不呢?

如果没有,memset应该更喜欢什么?

c++ memory memory-management memset

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

静态成员和多线程

我正在并行调用newSeed()和rand(),类Random的静态成员函数.newSeed()提供Random类的静态成员(让我们称之为种子).更具体地说,我在另一个类Method类中并行调用此函数:

 double* Method::randomPoint(double* bottom_, double* top_ )
 {
try{
    Random generator_ ;

    double* pt_ = new double[m_ndim];

    generator_.newSeed();
    for(int i=0;i<m_ndim;i++)
    {
        pt_[i]= generator_.rand(bottom_[i],top_[i]);
    }

    return pt_;

}
catch(...)
{
     return NULL;
}
 }
Run Code Online (Sandbox Code Playgroud)

总而言之,在每个并行调用中,我创建了一个新的Random类实例,我在这个对象中调用了newSeed()和rand()方法.由于newSeed()是在给定的实例上调用的,我希望newSeed()初始化此对象的种子成员 - 因此只对此线程进行初始化.由于种子是静态的并且newSeed()也是静态的,我是否为所有当前运行的Random类实例(以及所有线程)修改种子?

请告诉我是否必须澄清问题.

感谢致敬.

c++ static multithreading

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

用Python编写第一个解释器 - 选择OCaml语言

我正在阅读P. Norvig用Python编写的Scheme解释器代码,我想尝试用Python编写一个解释器.这恰好是帖子的主题:初级程序员可以用什么语言实现翻译呢?.但是,我非常有兴趣学习OCaml很长一段时间,如果我为OCaml做出决定,这可能是正确的时机.

我是否应该花费很多精力来实现OCaml语言的Python解释器?这只是一个个人项目,我的目标(除了学习OCaml),主要是练习我在编译器和解释器上阅读的内容.

如果OCaml不合适,你个人会建议什么?

你可以暗示OCaml的好参考(甚至:写一个OCampl解析器/解释器).

##编辑

Lua/Ruby/BASIC怎么样?(因为我也想学习那些)

感谢致敬

python compiler-construction parsing interpreter ocaml

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

Qt Designer生成C++代码

是否可以使用Qt Designer查看C++代码?我可以绘制我的界面并将其保存为.ui文件.另外,我可以使用.bat文件从.ui文件生成python代码.但我无法查看从UI生成的C++/Qt代码,我希望得到它.

我找了它,我能找到的就是doc.关于如何从.ui生成python,我可以做但不是我想要的.

谢谢

c++ python user-interface qt qt-designer

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