小编kay*_*kay的帖子

用于计算unsigned char中"1"位数的C代码

我需要C代码在C中的unsigned char中返回1的数量.如果不明显,我需要解释它为什么有效.我找到了很多32位数的代码,但对于unsigned char却没有多少代码.

c hammingweight

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

在C++中评估&&(和)运算符的哪一侧(左侧或右侧)

和&&运算符评估的顺序是什么

例如以下代码

if (float alpha = value1-value2 && alpha > 0.001)
    //do something
Run Code Online (Sandbox Code Playgroud)

提出了一个例外,即在没有启动的情况下使用alpha.我认为&&的左边的表达式总是首先启动alpha的值,但似乎我可能错了

任何的想法?

谢谢

c++ operator-precedence logical-operators

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

编程*挑战*网站*为儿童*?

我知道那里有一些高中生的竞争对手,但我正在寻找更适合高级中学生的东西.这些问题应该比Project Euler或SPOJ更简单,并且与语言无关(或者至少接受Python).

或者,如果不存在这样的网站,是否有任何编程挑战"包"用于设置您自己的网站并填写您自己创建的问题?

更新:我不是在寻找儿童编程语言.我正在寻找可以指导孩子的挑战,以便更好地学习他们的语言.

children

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

如何修改Erlang程序集?有资源吗?

我怀疑任何人都可以帮助解决这个问题,因为Erlang的编译文档中有以下内容:

请注意,汇编程序文件的格式未记录,并且可能在发行版之间更改 - 此选项主要用于内部调试.

...但为了以防万一,这里是故事的堆栈跟踪:

  • 使用['S']编译:file/2以生成汇编代码
  • 读取.S文件并创建一个键值数据结构,其中键是.S文件中的"函数"元组,值是函数的主体,即实现该函数的汇编指令.
  • 通过添加程序集来修改数据结构,以在某些函数中进行外部函数调用.
  • 崩溃......

不幸的是,我只是快速浏览了编译包含以下函数的模块时生成的.S文件,有和没有函数注释掉的第一个表达式:

spawn_worker(Which) ->
    %syner:sync_pt(),
    case Which of
            ?NAIVE -> spawn(err1, naive_worker_loop, [])
    end.
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我认为唯一改变的是元组:

{call_ext,0,{extfunc,syner,sync_pt,0}}.

...所以我认为在程序集中注入一个函数调用所需的唯一东西就是添加那个元组...但是现在我必须实际注入元组...我看到生成的程序集有一些额外说明:

没有syner:sync_pt():

{function, spawn_worker, 1, 4}.
{label,3}.
    {func_info,{atom,err1},{atom,spawn_worker},1}.
{label,4}.
    {test,is_eq_exact,{f,5},[{x,0},{atom,naive}]}.
    {move,{atom,naive_worker_loop},{x,1}}.
    {move,nil,{x,2}}.
    {move,{atom,err1},{x,0}}.
    {call_ext_only,3,{extfunc,erlang,spawn,3}}.
{label,5}.
    {case_end,{x,0}}.
Run Code Online (Sandbox Code Playgroud)

使用syner:sync_pt():

{function, spawn_worker, 1, 4}.
{label,3}.
    {func_info,{atom,err1},{atom,spawn_worker},1}.
{label,4}.
    {allocate,1,1}.
    {move,{x,0},{y,0}}.
    {call_ext,0,{extfunc,syner,sync_pt,0}}.
    {test,is_eq_exact,{f,5},[{y,0},{atom,naive}]}.
    {move,{atom,naive_worker_loop},{x,1}}.
    {move,nil,{x,2}}.
    {move,{atom,err1},{x,0}}.
    {call_ext_last,3,{extfunc,erlang,spawn,3},1}.
{label,5}.
    {case_end,{y,0}}.
Run Code Online (Sandbox Code Playgroud)

我不能仅仅得出结论:

   {allocate,1,1}.
   {move,{x,0},{y,0}}.
   {call_ext,0,{extfunc,syner,sync_pt,0}}.
Run Code Online (Sandbox Code Playgroud)

我希望将每个函数注入一个外部函数调用,就可以了.

  1. 因为我不确定汇编代码是否适用于我想要注入的所有函数(例如{allocate,1,1}总是正常)
  2. 因为如果仔细查看程序集的其余部分,它会略有变化(例如{call_ext_only,3,{extfunc,erlang,spawn,3}}.更改为{call_ext_last,3,{extfunc,erlang,spawn, 3},1}.). …

erlang assembly

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

DELIMITER /在SQLAlchemy中创建触发器

我需要在SQLAlchemy中创建一个BEFORE INSERT 触发器:

DELIMITER |
CREATE TRIGGER set_rank BEFORE INSERT ON authors
FOR EACH ROW BEGIN
    IF NEW.rank = 0 THEN
        SET NEW.rank = (SELECT IFNULL(MAX(a.rank),0) + 1
                        FROM authors AS a
                        WHERE a.id = NEW.pub_id);
    END IF;
END |
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

在mysql-workbench中执行代码的工作正常,但在我的实际代码中执行时会出现"你的SQL语法中有错误"异常:

from sqlalchemy.sql.expression import text

connection = db.session.connection()
text(..., connection).execute();
Run Code Online (Sandbox Code Playgroud)

跑步SELECT SLEEP(1),CREATE TABLE test (id INT)甚至USE some_db工作得很好.

这是我得到的mysql错误消息:

(1064,"你的SQL语法有错误; ...'DELIMITER附近| \n \n \n创建TRIGGER set_rank BE ...")

我很确定我错误地使用了DELIMITER.在这个环境中什么是正确的语法/如何解决我的问题?

python mysql sqlalchemy flask

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

多个作家,一个读者,哪个集合

我的情况是这样的:

多个线程必须同时写入同一个集合(add和addrange).物品的顺序不是问题.当所有线程都完成(加入)并且我回到我的主线程上时,我需要以foreach样式快速读取所有收集的数据,因为所有线程都完成后不需要实际锁定.

在"过去的日子"中,我可能会在List上使用读写器锁,但是对于新的并发集合,我想知道是否有更好的选择.我只是无法弄清楚哪些并发集合似乎假设读者也在并发线程上.

c# concurrency multithreading

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

AttributeError:'module'对象没有Python 2.7.11的属性'PROTOCOL_TLSv1_2'

我在我的mac上获得tls v1.2支持我的python安装时遇到问题.

这是我的openssl版本:

openssl version
OpenSSL 1.0.2h  3 May 2016
Run Code Online (Sandbox Code Playgroud)

这是我的python版本:

python --version
Python 2.7.11
Run Code Online (Sandbox Code Playgroud)

这就是我测试的方式:

>>> import ssl
>>> ssl.PROTOCOL_TLSv1_2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'PROTOCOL_TLSv1_2'
Run Code Online (Sandbox Code Playgroud)

阅读本文:https://docs.python.org/2/library/ssl.html 它说:

某些行为可能与平台有关,因为对操作系统套接字API进行了调用.安装的OpenSSL版本也可能导致行为的变化.例如,TL​​Sv1.1和TLSv1.2附带openssl版本1.0.1.

所以我对安装OpenSSL 1.0.2h的tlsv1.2支持有要求.

有人有主意吗?

python macos ssl openssl python-2.7

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

检查邮箱是否为空?在二郎

我需要做一个检查,它返回true或false,具体取决于当前进程是否在erlang的邮箱中有任何消息.

erlang

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

如何在iPhone库中获取最新照片?

在我的应用程序中有一个按钮,用户只需单击它,然后可以直接在屏幕上检索库中的最新照片.如何在图书馆中获取最新照片?


2012/02/17

这可以获得ALAsset

void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop)
    {
        if(result != nil)
        {

            [self.assets addObject:result];

        }
    };

    void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop)
    {
        if(group != nil)
        {
            [group setAssetsFilter:[ALAssetsFilter allPhotos]];
            [group enumerateAssetsUsingBlock:assetEnumerator];
        }else{
            self.image = [self getLastImage];

        }

    };
    ALAssetsLibraryAccessFailureBlock failureblock = ^(NSError *myerror){
        NSLog(@"error occour =%@", [myerror localizedDescription]);
    };


    assets = [[NSMutableArray alloc] init];
    ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];
    [assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:assetGroupEnumerator failureBlock:failureblock];
    [assetsLibrary release]; …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios

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

英特尔Galileo裸机UART

我想在Intel Galileo板上编写一个"hello world" 裸机应用程序.当然,使用UEFI打印文本(到UART-1)效果很好,但我想"手动"访问UART,而无需UEFI的任何帮助.

在QEMU,我的代码效果很好:

.h文件

#define COM1_PORT (0x03F8)
#define UART_PORT (COM1_PORT)

enum uart_port_offs_t
{   //          DLAB RW
    THR = 0, //   0   W  Transmitter Holding Buffer
    RBR = 0, //   0  R   Receiver Buffer
    DLL = 0, //   1  RW  Divisor Latch Low Byte
    IER = 1, //   0  RW  Interrupt Enable Register
    DLH = 1, //   1  RW  Divisor Latch High Byte
    IIR = 2, //   -  R   Interrupt Identification Register
    FCR = …
Run Code Online (Sandbox Code Playgroud)

c x86 bare-metal uart intel-galileo

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