我在Qt中处理一个简单的绘图小部件(以下所有内容都在一个类中).在头文件中,我已经定义了
private:
QPointF translateToCanvas (QPointF input);
Run Code Online (Sandbox Code Playgroud)
在我定义的CPP文件中
QPointF translateToCanvas (QPointF input) {
return input - QPointF(CANVAS_MARGIN_X, CANVAS_MARGIN_Y);
}
Run Code Online (Sandbox Code Playgroud)
代码中的其他地方,我称之为
QPointF newPoint = translateToCanvas(anotherPoint);
Run Code Online (Sandbox Code Playgroud)
每当我编译时,它都会给出错误"对MyClass :: translateToCanvas(QPointF)'的未定义引用",这发生在moc生成的内容中,实际上并不是我的文字代码.
Qt中可能导致此错误的原因是什么?(我正在使用Qt Creator和Qt 4.5.)
我想定义一个以整数作为输入的方法,并动态创建所有降序整数的列表为零.我在调用n-1元素的方法时遇到了麻烦
我正试图在我的iPhone应用程序中使用新的Facebook"一次性身份验证"流程.
想法是该应用程序链接到Facebook应用程序或Safari以要求用户登录到Facebook,然后Facebook使用自定义URL方案将用户返回到应用程序.
我在应用程序中设置了自定义URL方案,按照Facebook的指示(例如'fbmyapp')预先设置'fb'.在Safari中键入"fbmyapp://"时也可以这样做 - 即我的应用程序启动了.这确认了自定义URL方案有效.
我可以使用应用程序中的以下调用成功地将用户带到Safari和Facebook应用程序中的登录页面:
facebook = [[Facebook alloc] init];
[facebook authorize:appId permissions:permissions delegate:self];
Run Code Online (Sandbox Code Playgroud)
我在应用程序中启用了多任务(允许应用程序在后台运行).
但是,成功登录Facebook应该重定向回我的应用程序,但我从Safari获得了例如:"无法打开页面 - Safari无法打开页面,因为地址无效".我在Facebook应用程序中收到类似的消息.
任何帮助将不胜感激.
提前致谢.
我正在使用Dipperstein的bitarray.cpp类来处理双层(黑白)图像,其中图像数据本身就像一位像素一样存储.
我需要使用for循环遍历每个位,每个图像大约4-9百万像素,数百个图像,类似于:
for( int i = 0; i < imgLength; i++) {
if( myBitArray[i] == 1 ) {
// ... do stuff ...
}
}
Run Code Online (Sandbox Code Playgroud)
性能可用,但并不令人惊讶.我通过gprof运行程序,发现有很多时间和数百万次调用std::vector迭代器和开始等方法.这是顶部采样函数:
Flat profile:
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls s/call s/call name
37.91 0.80 0.80 2 0.40 1.01 findPattern(bit_array_c*, bool*, int, int, int)
12.32 1.06 0.26 98375762 0.00 0.00 __gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >::__normal_iterator(unsigned char const* const&)
11.85 1.31 0.25 …Run Code Online (Sandbox Code Playgroud) 我正在用PHP编写一个简单的文件缓存引擎,它需要能够查看目录的大小.我正在寻找的是相当于Unix的du命令来简单地打印目录的总文件大小.我可以自己写,但如果其他人已经弄清楚了递归和处理符号链接的所有问题等等,那就太好了.
我正在Haskell中编写一些简单的字符计数例程,将统计信息存储在一个新的数据类型中:
data Stat = Stat {
stChars :: !Int,
stVowels :: !Int,
stPairEL :: !Int,
stWords :: !Int
}
Run Code Online (Sandbox Code Playgroud)
我正在运行数百或数千个纯文本文件,每个文件大约50K - 100K.
tabulateFile :: FilePath -> IO Stat
tabulateFile path = do
putStrLn path
contents <- L.readFile path
return $! tabulateText ' ' contents defaultStat
Run Code Online (Sandbox Code Playgroud)
我没有使用fold-left,而是使用原始递归,因此我可以保留前一个字符.
tabulateText :: Char -> L.ByteString -> Stat -> Stat
tabulateText lastChr bs stat =
case U.uncons bs of
Nothing -> stat
Just (chr, newBs) ->
tabulateText lchr newBs (countChar lastChr lchr stat)
where lchr …Run Code Online (Sandbox Code Playgroud)