小编mav*_*mav的帖子

从命令行编译Android项目很慢

我正在使用以下命令在OSX上从命令行编译我的(相当简单,只有5个文件和几百个LOC)应用程序:

ant debug

有用.但它运作缓慢:

BUILD SUCCESSFUL Total time:

26 seconds

这是为什么?即使我只更改一个java文件中的一行,也需要很长时间.大部分时间都花在dex舞台上(约20秒),这是AFAIK创建Dalvik字节码.但我的朋友也使用Eclipse在Windows上使用相同的项目,他说编译只需要一两秒钟就可以在他的机器上运行.有什么办法可以加快这个过程吗?

performance android compilation dex

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

在Mac上编译C++程序以在Linux上运行

可能重复:
如何从Mac OS X交叉编译到Linux x86?

我有一个使用FMOD库在C++/SDL中编写的应用程序.该应用程序是可移植的,无需在Mac和Linux上进行任何代码更改即可编译.但令人烦恼的是,当我想发布Linux版本时,我必须运行我的Linux机器,在那里复制源代码(通过USB驱动器,因为我没有网络,它是一台旧笔记本电脑)并编译它,然后复制它再次通过USB连接到我的Mac并上传它.

我的问题是 - 有更好的方法吗?理想情况下,我是否可以直接从Xcode编译应用程序在Linux上运行,我在那里为Mac编译它?

c++ linux macos xcode

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

核心数据不一致 - 获取有时不返回任何内容

我已经花了几个小时在那一个,我似乎无法找到解决方案.首先,我有一些规格:

  • 具有核心数据的Objective-C iOS 6应用程序
  • 核心数据从UIManagedDocument初始化,该UIManagedDocument已启用自动保存
  • 来自UIManagedDocument的ManagedContext存储在一个静态变量中,并在整个应用程序中重用
  • 该应用程序使用RestKit,我使用它提供的ActiveRecord类别.

我有一个Team实体模型.在应用程序中,有一个Team List视图控制器,它从后端加载团队.后端返回JSON数组,其中包含团队ID.我将此ID存储在我的模型中的"id"字段中,并在迭代服务器响应时,查找给定ID的团队是否已存在.如果是这样,我只更新其信息并传递对象,如果没有 - 我先创建它.

这就是它变得离奇的地方.这有效90%的时间.我可以加载Team List控制器,在应用程序中更进一步,返回控制器(再次加载数据),大部分时间一切正常.然而,偶尔,我的获取请求将不会返回任何内容.如:

NSArray *results = [context executeFetchRequest:request error:&error];
Run Code Online (Sandbox Code Playgroud)

将返回空数组,错误也是空的.服务器上的任何内容都不会发生变化.当我尝试调试它时,请求如下所示:

<NSFetchRequest: 0x127a0e20> (entity: Team; predicate: (id == "123"); sortDescriptors: ((null)); limit: 1; type: NSManagedObjectResultType; )
Run Code Online (Sandbox Code Playgroud)

当我在外部应用程序中预览sqlite存储时,我可以看到此ID的Team项目存在,而在其他90%的时间内它确实被加载.什么更奇怪,当我转向SQLDebug时,我可以看到:

2013-04-12 12:00:27.934 SportLink[10831:c07] CoreData: annotation: fetch using
NSSQLiteStatement <0x12656d10> on entity 'Team' with sql text 'SELECT 0, t0.Z_PK,
t0.Z_OPT, t0.ZACI1, t0.ZACI2, t0.ZACI3, t0.ZALTFIRSTNAME, t0.ZALTSECONDNAME, t0.ZCOLOR1,
t0.ZCOLOR2, t0.ZGENDER, t0.ZICON, t0.ZID, t0.ZLOCATION, t0.ZLOGO1, t0.ZLOGO2, t0.ZNAME,
t0.ZTYPE, t0.ZSPORT FROM ZTEAM t0 WHERE  t0.ZID = ?  LIMIT 133' …
Run Code Online (Sandbox Code Playgroud)

activerecord core-data objective-c ios restkit

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

C++程序中非常奇怪的堆栈溢出

我不久前写了一个程序(Mac OS X,C++,SDL,FMOD),它表现得相当不错.但最近我想扩展其功能并为其添加更多代码.现在,当我运行它并尝试测试新功能时,程序会与SIGABRT崩溃.

查看调试器,在函数堆栈上我看到:

  • _杀
  • 杀$ UNIX2003
  • 提高
  • __abort
  • __stack_chk_fail
  • odtworz < - 我的功能被修改了

据我所知,"__ stack_chk_fail"表示堆栈溢出.但这不是最奇怪的事情.在这个函数"odtworz"中,我有一些像这样的代码:

...

koniec = 0;
while ( koniec == 0 ) {
    ...
    if (mode == 1) {
        ...
    }
    else if (mode == 2) {
        ...
    }
    else if (mode == 3) {
       piesniOrkiestrowe[0] = '\0'; 
       while ( piesniOrkiestrowe[0] == '\0' ) { 
           losowaPiesn(); 
           char * piesnOrkiestrowa = szukajPiesniOrkiestrowej(); 
           if ( piesnOrkiestrowa != NULL ) 
              strcpy(piesniOrkiestrowe, piesnOrkiestrowa); 
       } 
       char nowyPiesnPlik[25]; 
       sprintf(nowyPiesnPlik, "%sorch/%s", PIESNI_DIR.c_str(), piesniOrkiestrowe); …
Run Code Online (Sandbox Code Playgroud)

c++ stack-overflow macos callstack

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

带进度的快速文件复制

我正在为 Linux 编写一个 SDL 应用程序,它可以从控制台(没有 X 服务器)运行。我的一个功能是文件复制机制,它将特定文件从 HDD 复制到 USB 闪存设备,并在 UI 中显示此复制的进度。为此,我使用简单的 while 循环并按 8kB 块复制文件以获取复制进度。问题是,它很慢。我在将近 10 分钟内复制了一个 100 MB 的文件,这是不可接受的。

如何实现更快的文件复制?我正在考虑一些异步 API,可以将文件从 HDD 读取到缓冲区并将数据存储到 USB 中的单独线程中,但我不知道是否应该自己实现这一点,因为它看起来不是一件容易的事。也许你知道一些 C++ API/库可以帮助我?或者也许其他一些更好的方法?

c++ performance sdl copy file

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