小编Tom*_*Tom的帖子

定位armv7时出现XCode链接错误

我已经花费了无数个小时来解决这个问题,利用谷歌搜索和其他Stack Overflow问题无济于事.

我有一个iPhone/iPad通用应用程序,当目标是armv6时似乎编译得很好.但是,当设备是iPad时,我收到此警告:

warning: building for SDK 'Device - iPhone OS 3.2' requires an armv7 architecture.

奇怪的是,尽管有这样的警告,该应用仍然在iPad上运行良好.但是,在这种情况下,我确实希望以"正确的方式"做事.当我将目标架构切换到armv7时,我得到链接错误:

  "___restore_vfp_d8_d15_regs", referenced from:
     *redacted*

  "___save_vfp_d8_d15_regs", referenced from: 
     *redacted*

ld: symbol(s) not found

collect2: ld returned 1 exit status

错误的"编辑"部分是对我想要链接的静态库的引用.

这是我从网上的许多建议中尝试过的.这些都是不止一次被提出而没有任何解释,这使我相信没有人完全理解这个问题:

"切勿使用XCode窗口左上角的下拉菜单选择目标.而是将其设置为Base SDK,然后将Base SDK设置为目标配置中的iPhone OS 3.0.将目标设备设置为首选目标( iPad,iPhone OS 3.2在我的情况下.)"

这会产生错误"找不到-lcrt1.3.1.o的库"

"确保GCC没有链接到标准库的错误版本.(您必须确保LIBRARY_SEARCH_PATH中没有错误的路径.)"

我的LIBRARY_SEARCH_PATH已经为空,所以这似乎不相关.

"尝试使用GCC 4.0而不是GCC 4.2进行编译."

我在UIKit头文件中遇到语法错误.错误是"'AT_NAME'令牌之前的语法错误." 该行是"UIKIT_EXTERN @interface UILocalizedIndexedCollat​​ion:NSObject".

另一个项目使用相同的目标设置编译得很好,这真的让我质疑我的理智.我可以处理一个损坏的XCode项目吗?

如果有人知道实际发生了什么并有参考或不介意解释它,我会非常感激.

干杯!

xcode linker ipad armv7

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

iPhone SDK:访问索引颜色的PNG图像

我有兴趣在我的iPhone应用程序中加载索引颜色的PNG图像.加载后,我想以每个像素为基础访问图像.特别是,我想获得各个像素的颜色索引(而不是颜色本身).

不幸的是,似乎没有办法通过UIImage类访问像素,更不用说像素的颜色索引了.我也看一下与Quartz2D相关的API,但到目前为止看起来很惨淡.

我非常感谢任何建议.我希望我不必从libpng中移植必要的代码.

提前致谢!

更新:我可以使用Quartz2D加载PNG,但由于某种原因,它会自动将我的索引颜色8位PNG转换为32位ARGB PNG.我有什么想法可以阻止这个吗?

更新2:这一点很重要的原因是由于内存限制.我试图阻止光栅从每像素8位上升到32位,以避免开销.如果有人对我有神奇的答案,100分是你的!

iphone png objective-c

4
推荐指数
1
解决办法
3444
查看次数

使用Java EE和Java SE可以更好地实现哪些应用程序?

如果下面的问题有点模糊或天真,请原谅我.它受到另一个线程中的一些讨论的启发,这再次引起了我对Java EE的兴趣.

多年来,我听到了一些关于它的细节,甚至还参加了一个涵盖EJB的软件工程课程.但是,我意识到我对它以及它的用途几乎一无所知.

所以,我真的有两个问题:首先,如果我正在设计一个Web应用程序服务器,那么哪些要求会导致我选择Java EE而不是Java SE?它在很大程度上取决于我想要部署的应用程序,还是Java EE的基本方面使其更适合任何应用程序服务器?

我的第二个问题:部署中有哪些着名的Java EE应用程序?有没有开源的?

非常感谢.

java java-ee

4
推荐指数
1
解决办法
294
查看次数

Python套接字问题:Windows中的socket.MSG_DONTWAIT

我有一个Python应用程序,它使用带有socket.MSG_DONTWAIT标志的UDP sendto/recvfrom。在 Linux 和 Mac OS X 中,这工作得很好。但是,该标志在 Windows 环境中不存在。

Windows 中的等效标志是什么?或者,如何在 Windows 中进行非阻塞 sendto/recvfrom?

python sockets windows

4
推荐指数
1
解决办法
4439
查看次数

在C中写入文件时计算文件的MD5校验和

我有一个C应用程序,生成非常大的二进制文件,每个大约30GB.在编写每个文件之后,计算它的MD5校验和需要一段时间,(每个文件大约几分钟).

在将文件写入磁盘时,我将如何计算文件的MD5校验和?我想通过这样做,我至少可以节省重新读取文件的额外开销,以便随后计算校验和.

我正在使用C标准库来执行所有文件IO,而操作系统是Linux.

可以这样做吗?谢谢!

c md5

4
推荐指数
1
解决办法
837
查看次数

Mono的BackgroundWorker不在后台工作?

我有Mono的困境.我试图了解BackgroundWorker实例不会同时运行的方式或原因,或者至少不能非常有效或快速地运行实例.这几乎就像线程的数量受到限制一样,但我不是Mono开发人员或.NET开发人员,所以我把自己置于我的兄弟们的怜悯之下.

请考虑以下示例:

using System;
using System.ComponentModel;
using System.Threading;

namespace backgroundworkertest
{
  class MainClass
  {
    public static void foo(object sender, DoWorkEventArgs e) {
      Console.WriteLine("Start");
      Thread.Sleep(500);
      Console.WriteLine("Done");
    }

    public static void Main (string[] args)
    {
      for(int i = 0; i < 6; i++) {
        BackgroundWorker b = new BackgroundWorker();
        b.WorkerReportsProgress = false;
        b.DoWork += new DoWorkEventHandler(foo);
        b.RunWorkerAsync();
      }

      Thread.Sleep(2000);
      Console.WriteLine("Really done");
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

当我运行上面的内容时,我得到以下输出.

Start
Start
Done
Start
Start
Done
Start
Done
Really Done

首先,并非所有的BackgroundWorkers都在两秒内完成.从循环中可以清楚地看出我正在实例化6名工人,但只有3名人员打印"完成".如果所有6个人同时运行,我觉得两秒钟应该足够让这些工人完成.

真正的内幕故事是我有一个运行良好的应用程序(使用大量的BackgroundWorker …

.net c# mono multithreading backgroundworker

4
推荐指数
1
解决办法
3081
查看次数

创建Java对象一般问题

哪个更适合内存管理或任何其他原因,或者这两个场景是相同的:

Calendar currentDateTime = Calendar.getInstance();
int i= foo.getSomething(currentDateTime);
Bar bar= foo.getBar(currentDateTime);
Run Code Online (Sandbox Code Playgroud)

另一个代码块:

int i= foo.getSomething(Calendar.getInstance());
Bar bar= foo.getBar(Calendar.getInstance());
Run Code Online (Sandbox Code Playgroud)

一般的问题是,获取对象的实例更好,然后在需要时使用该实例,或者在每次需要时进行getInstance()调用.并且,如果不处理单身人士,但是制作一个简单的POJO,答案会改变吗?

java memory object

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

用"期货"或类似的范例开发C++并发库

我正在开发一个需要在线程池中运行许多作业的C++项目.这些作业容易出错,这意味着我需要知道每个作业在完成后如何终止.作为Java程序员,我喜欢使用"期货"或类似范例的想法,类似于Java的util.concurrent包中的各种类.

我有两个问题:首先,C++已经存在这样的事情(我在Boost中找不到任何东西,但也许我看起来不够努力); 第二,这对C++来说是一个理智的想法吗?

我找到了一个简短的例子,说明我在这里要完成的任务:

http://www.boostcookbook.com/Recipe:/1234841

这种方法有意义吗?

c++ multithreading future threadpool

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

如何确保vfprintf具有适当数量的参数?

我在C中有一个变量参数函数,看起来大致如下:

void log(const char * format, ...) {

  va_list args;
  va_start(args, format);
  vfprintf( stderr, format, args );
  va_end(args);
  exit(1);
}

我可以这样通过callilng崩溃我的应用程序,

log("%s %d", 1);

因为函数缺少一个参数.有没有办法确定运行时缺少参数?

c

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

使用爆炸?

有人说,爆炸!表明方法"可能"修改对象.

在这个例子中:

foo = "A STRING"
foo.downcase
puts foo
# => A STRING
foo.downcase!
puts foo
# => a string
Run Code Online (Sandbox Code Playgroud)

爆炸符号似乎引起副作用.是obj.method!相当于obj = obj.method?如果没有,为什么?是否有一些方法,这两个表达式不相同?

ruby

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