小编Æle*_*lex的帖子

iOS 7.0下的无效上下文0x0和系统性能下降

我已经阅读了很多关于这个可怕问题的搜索结果,不幸的是,每个人似乎都专注于特定的函数调用.

我的问题是我从多个函数中得到了相同的错误,我猜这些函数是从我使用的函数中调用的.

更糟糕的是,实际代码是在另一个项目中导入的自定义私有框架内,因此调试并不那么简单?

有人能指出我正确的方向吗?我有一种感觉我错误地调用某些方法或者上下文不好,但xcode的输出在这一点上并没有多大帮助.

:CGContextSetFillColorWithColor:无效的上下文0x0.这是一个严重的错误.该应用程序或其使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体降低.此通知是礼貌的:请解决此问题.它将成为即将到来的更新中的致命错误.

:CGContextSetStrokeColorWithColor:无效的上下文0x0.这是一个严重的错误.该应用程序或其使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体降低.此通知是礼貌的:请解决此问题.它将成为即将到来的更新中的致命错误.

CGContextSaveGState:无效的上下文0x0.这是一个严重的错误.该应用程序或其使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体降低.此通知是礼貌的:请解决此问题.它将成为即将到来的更新中的致命错误.

:CGContextSetFlatness:无效的上下文0x0.这是一个严重的错误.该应用程序或其使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体降低.此通知是礼貌的:请解决此问题.它将成为即将到来的更新中的致命错误.

:CGContextAddPath:无效的上下文0x0.这是一个严重的错误.该应用程序或其使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体降低.此通知是礼貌的:请解决此问题.它将成为即将到来的更新中的致命错误.

:CGContextDrawPath:无效的上下文0x0.这是一个严重的错误.该应用程序或其使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体降低.此通知是礼貌的:请解决此问题.它将成为即将到来的更新中的致命错误.

:CGContextRestoreGState:无效的上下文0x0.这是一个严重的错误.该应用程序或其使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体降低.此通知是礼貌的:请解决此问题.它将成为即将到来的更新中的致命错误.

:CGContextGetBlendMode:无效的上下文0x0.这是一个严重的错误.该应用程序或其使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体降低.此通知是礼貌的:请解决此问题.它将成为即将到来的更新中的致命错误.

当呈现自定义视图或其继承的类之一时,可能会发生这些错误.此时它们会多次生成,直到键盘不提供任何输入.触摸事件仍然已注册,但系统速度变慢,最终可能导致未分配的对象错误.

编辑#1:我确实可以访问正在导入的框架,但我没有看到导致问题的类中有任何奇怪的东西.

编辑#2:我刚刚收到一封发送给iOS 7.1的电子邮件.我很想知道这是否会消失,或者变得更糟,还是可以解决.

core-graphics objective-c ios7

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

如何让CMake在Mac OS X上使用GCC而不是Clang?

我找不到任何关于它的信息,但只有相反的方式(例如,如何设置CMake使用clang).

我已经使用brew安装了gcc-4.8,设置了所有依赖项,标题等,现在CMake拒绝使用gcc.

我已经设置了包含别名和实际条目的bash配置文件:

export CC=/usr/bin/gcc
export CXX=/usr/bin/g++
alias gcc='gcc-4.8'
alias cc='gcc-4.8'
alias g++='g++-4.8'
alias c++='c++-4.8'
Run Code Online (Sandbox Code Playgroud)

然而,CMake顽固地拒绝使用gcc,而是恢复为clang:

air:build alex$ cmake -DCMAKE_BUILD_TYPE=DEBUG ..
-- The C compiler identification is Clang 5.1.0
-- The CXX compiler identification is Clang 5.1.0
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
Run Code Online (Sandbox Code Playgroud)

c++ cmake

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

Q学习与SARSA有什么区别?

虽然我知道SARSA是在政策上,而Q-learning不合时宜的,但在查看他们的公式时,很难(对我而言)看到这两种算法之间存在任何差异.

根据" 强化学习:引言"(Sutton和Barto)一书.在SARSA算法中,给定策略,相应的动作值函数Q(在状态s和动作a,在时间步t),即Q(s t,a t),可以更新如下

Q(s t,a t)= Q(s t,a t)+α*(r t +γ*Q(s t + 1,a t + 1) - Q(s t,a t))

另一方面,Q学习算法的更新步骤如下

Q(s t,a t)= Q(s t,a t)+α*(r t +γ*max a Q(s t + 1,a) - Q(s t,a t))

也可以写成

Q(s t,a t)=(1 - α)*Q(s t,a t)+α*(r t +γ*max a …

artificial-intelligence reinforcement-learning q-learning sarsa

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

从一个线程中分叉是否安全?

让我解释一下:我已经在Linux上开发了一个应用程序,它分叉并执行外部二进制文件并等待它完成.结果由fork +进程独有的shm文件传递.整个代码封装在一个类中.

现在我正在考虑线程化这个过程以加快速度.拥有许多不同的类函数实例,并行地(使用不同的参数)分叉和执行二进制文件,并使用自己独特的shm文件传递结果.

这个线程安全吗?如果我在一个线程中分叉,除了安全之外,还有什么我需要注意的吗?任何建议或帮助非常感谢!

c++ linux multithreading fork process

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

使用GCD的FIFO串行队列

我正在尝试为我工作的公司创建一个(网络)同步数组.虽然网络部分工作正常,但我已经陷入了一个问题.

我希望创建一个新队列使用dispatch_create_queue,我将添加两个不在主线程上运行的块,但是以串行方式运行,这意味着首先必须运行第一个块,然后是第二个块,而不是平行.

我已经阅读了苹果文档,但至少可以说是令人困惑的.

  • 当我使用创建队列dispatch_queue_create然后使用时添加块(在它们被定义之后)dispatch_sync,我发现该块仍然在主线程上执行.

  • 使用时dispatch_async,即当主线程上没有执行块时.

  • 当我尝试使用dispatch_sync它们添加两个块时永远被阻止.

  • 两个块似乎运行良好并且离开主线程的唯一时间是在调用时dispatch_async.

然而,我之所以选择GCD和同步方法,是因为我的印象是我正在创建一个新队列(因此​​是一个新线程),并且向该队列添加块只会阻塞一个,直到另一个完成执行.是不是这种情况,或者创建队列不保证代码不会在主线程上运行?

objective-c fifo grand-central-dispatch objective-c-blocks

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

CMake和静态链接

我在一个项目中使用CMake,我正试图静态链接一些库.我已经设定:

set(BUILD_SHARED_LIBS OFF)
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
set_target_properties(icarus PROPERTIES LINK_SEARCH_END_STATIC 1)
Run Code Online (Sandbox Code Playgroud)

我确定在寻找具有*.a版本的实际库时.

目前该项目进口:

libPocoNet.a 
libPocoUtil.a 
libPocoXML.a 
libPocoFoundation.a 
libmysqlclient.a 
libmysqlpp.a 
libcrypto++.a 
CUDA
Run Code Online (Sandbox Code Playgroud)

找到所有库,并且在进行动态/共享链接时,它们工作正常.我也试过设置编译标志:

set(GCC_CXX_FLAGS ${GCC_CXX_FLAGS} "-static-libgcc -static-libstdc++ -static")
Run Code Online (Sandbox Code Playgroud)

但无济于事.虽然我在编译时没有遇到任何问题,但链接会为上面库中的调用抛出大量未定义的引用错误,即:

undefined reference to `mysql_thread_init'
undefined reference to `mysql_real_query'
undefined reference to `pthread_mutex_unlock'
undefined reference to `Poco::ErrorHandler::handle()'
Run Code Online (Sandbox Code Playgroud)

不是那个特定的顺序,每个库都有很多错误.

看看海湾合作委员会的最后一行,我看到:

/usr/bin/c++   -g -g  -static-libgcc -static-libstdc++ -static [list of *.cpp files]
-o icarus -rdynamic /usr/local/lib/libPocoFoundation.a /usr/local/lib/libPocoNet.a
/usr/local/lib/libPocoUtil.a /usr/local/lib/libPocoXML.a 
-Wl,-Bstatic -lmysqlclient -lmysqlpp -lcrypto++
Run Code Online (Sandbox Code Playgroud)

这让我想知道:

  1. 为什么Poco库链接为-rdynamic,并且没有-Wl -Bstatic标志?好像它们被跳过/排除在静态链接之外.
  2. 似乎是为静态链接设置了mysqlclient,mysqlpp和crypto ++,但我仍然遇到错误

那么,有人可以向我解释一下:

  1. 如何使用CMake设置部分静态链接
  2. CMAKE_EXE_LINKER_FLAGS是我唯一需要设置的吗?
  3. 我是否应该强制提到的库的静态链接,而不是整个项目?

如果那些问题太多或过于局部化,请原谅我,我之前没有尝试过,而且我似乎无法在网上找到太多信息.

linker gcc cmake static-libraries static-linking

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

处理神经网络输入的文本字符串

我知道人工神经网络输入必须标准化,标准化等.除了各种人工神经网络的特性和模型之外,我如何在{0,1}范围内或者在范围{-1之间预处理UTF-8编码文本. 1}在它作为神经网络的输入之前?我一直在谷歌搜索这个,但找不到任何信息(我可能使用错误的术语).

  1. 那有意义吗?
  2. 是不是如何为神经网络预处理文本?
  3. 还有其他选择吗?

编辑2013年11月20日:

我一直认为皮特的答案是正确的.然而,我有严重的疑虑,主要是由于我最近对符号知识和ANN的研究.

Dario Floreano和Claudio Mattiussi在他们的书中解释说,通过使用分布式编码,这种处理确实是可行的.

事实上,如果你尝试谷歌学者搜索,存在大量的神经科学文章和论文,关于如何假设分布式编码被大脑用来编码符号知识.

Teuvo Kohonen在他的论文" Self Organizing Maps "中解释说:

有人可能会认为将神经适应法应用于符号集(被视为一组矢量变量)可能会创建一个显示符号之间"逻辑距离"的地形图.然而,与连续数据相比,出现了符号的不同性质的问题.对于后者,相似性总是以自然的方式显示,作为其连续编码之间的度量差异.对于没有定义度量的离散符号项(例如单词),这不再适用.符号的本质是它的意义与其编码分离.

然而,Kohonen确实设法处理SOM中的符号信息!

此外,Alfred Ultsch博士在他的论文" 神经网络与符号知识处理的整合 "中完全阐述了如何在ANN中处理符号知识(如文本).Ultsch提供以下处理符号知识的方法:神经近似推理,神经统一,内省和综合知识获取.虽然谷歌学者或其他任何地方的人都可以找到很少的信息.

皮特在他的回答中是关于语义的.人工神经网络中的语义通常是断开的.然而,下面的参考,提供了洞察研究人员如何使用RBM,训练识别不同单词输入的语义相似性,因此它不应该是不可能有语义,但需要分层方法,或者如果需要语义,则需要辅助ANN .

使用子符号神经网络进行自然语言处理,Risto Miikkulainen,1997 训练受限制的Boltzmann机器进行单词观察,GEDahl,Ryan.P.Adams,H.Rarochelle,2012

preprocessor normalize standardized textinput neural-network

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

std :: shared_ptr深层复制对象

在C++ 11上找不到多少,但仅限于提升.

考虑以下课程:

class State
{
   std::shared_ptr<Graph> _graph;

 public:

    State( const State & state )
    {
        // This is assignment, and thus points to same object
        this->_graph = std::make_shared<Graph>( state._graph ); 

        // Deep copy state._graph to this->_graph ?
        this->_graph = std::shared_ptr<Graph>( new Graph( *( state._graph.get() ) ) );

        // Or use make_shared?
        this->_graph = std::make_shared<Graph>( Graph( *( state._graph.get() ) ) );
    }   
};
Run Code Online (Sandbox Code Playgroud)

假设类Graph有一个复制构造函数:

Graph( const Graph & graph )
Run Code Online (Sandbox Code Playgroud)

我不想有这个 - > _ graph point/share同一个对象!相反,我希望这个 …

deep-copy shared-ptr c++11

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

Poco :: Net服务器和客户端TCP连接事件处理程序

我正在开始一个新项目,同时刚刚发现了Poco图书馆,我发现它非常棒.但是我有点迷失,因为例子并不多.

我有一个ServerApplication-> TCPServer-> ServerSocket + TCPServerConnectionFactory-> TCPServerconnection方法,如例子所示.我按照指示从PocoNet类继承.现在我可以将我的服务器作为服务运行,并接收传入的连接.

我想采用以下事件处理方法:在每个连接(或每个客户端)的基础上,处理事件,例如可在客户端套接字上读取的数据,客户端套接字上发生的错误(断开连接或超时),发送客户端套接字上没有错误的数据

我该怎么做呢?Poco/Foundation/Events是我正在寻找的,还是在Poco :: Net中实现了一些机制?

我已经看过Poco :: Net :: NetExpections但是当netcat连接关闭时,它们似乎不会被我的TCPServerConnection派生类抛出.

c++ networking network-programming poco-libraries

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

使用std :: dynamic_pointer_cast上传std :: shared_ptr

我开始使用C++ 0X/11中的智能指针,我遇到了一种奇怪的情况.我想使用shared_ptr来强制转换对象的实例.

类Extend继承自Base类,其中Base类具有虚拟析构函数以使其具有多态性(否则dynamic_pointer_cast会抱怨非多态类转换).

如果:

std::shared_ptr<Base> obj = std::make_shared<Base>();
Run Code Online (Sandbox Code Playgroud)

然后我做:

obj = std::dynamic_pointer_cast<Extend>(obj);
Run Code Online (Sandbox Code Playgroud)
  1. 安全吗?
  2. 其他指向对象的指针会发生什么?只有obj将它视为Extend,而其他共享指针仍会将其视为Base吗?
  3. 上传同一个实例是否安全,还是应该做其他事情?

编辑:谢谢你的答案.我问这个问题的真正原因是处理XML文档使用SAX解析器,但是我得到了上升/下降的信息.我想要的是:

std::shared_ptr<Extend> ex = std::dynamic_pointer_cast<Extend>(obj);
obj = ex;
Run Code Online (Sandbox Code Playgroud)

但它完全没有意义,相反我只会使用一个对象工厂.

c++ shared-ptr upcasting c++11

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