问题列表 - 第28097页

为什么linux二进制文件的虚拟内存地址从0x8048000开始?

在Ubuntu x86系统上反汇编ELF二进制文件我不禁注意到代码(.text)部分从虚拟地址0x8048000开始,所有较低的内存地址似乎都未使用.

这似乎相当浪费,所有谷歌出现都是涉及STACK_TOP的民间传说或防止空指针解除引用.后一种情况看起来可以通过使用单个页面来修复,而不是留下128MB的间隙.

所以我的问题是 - 对于为什么布局已经固定到这些值或者它只是一个随意的选择,有一个确定的答案吗?

linux x86 elf memory-layout

30
推荐指数
1
解决办法
4000
查看次数

为什么Javascript的OR返回的值不是true/false?

为了获得浏览器视口宽度,我看到了这种结构:

function () { return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; }
Run Code Online (Sandbox Code Playgroud)

我理解涉及的浏览器怪癖.我不明白的是为什么要||返回价值.所以我试过这个alert(undefined || 0 || 3);,果然,它发出警报3.我觉得这很离奇,因为我期待true或者false.谁能解释一下发生了什么?

javascript syntax

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

用PHP读取大型excel文件

我正在尝试用PHPExcel1.7.3c读取一个17MB的excel文件(2003),但是在超过120秒的限制后,它在加载文件时已经崩溃了.是否有其他库可以更有效地完成它?我不需要造型,我只需要它来支持UTF8.谢谢你的帮助

php excel performance import-from-excel large-files

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

BaseX XML数据库代码

我是计算机科学的学生,我们必须在我们的一门课程中使用BaseX(纯Java OSS XML数据库).在浏览代码时,我发现了以下代码:

  /**
    * Returns a md5 hash.
    * @param pw password string
    * @return hash
    */
   public static String md5(final String pw) {
     try {
       final MessageDigest md = MessageDigest.getInstance("MD5");
       md.update(Token.token(pw));
       final TokenBuilder tb = new TokenBuilder();
       for(final byte b : md.digest()) {
         final int h = b >> 4 & 0x0F;
         tb.add((byte) (h + (h > 9 ? 0x57 : 0x30)));
         final int l = b & 0x0F;
         tb.add((byte) (l + (l > 9 ? 0x57 : …
Run Code Online (Sandbox Code Playgroud)

java xml database md5 basex

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

为什么我不能使用distutils将这些数据文件包含在Python发行版中?

我正在为Python项目编写一个setup.py文件,以便我可以分发它.目的是最终创建一个.egg文件,但我试图让它首先使用distutils和常规.zip.

这是一个eclipse pydev项目,我的文件结构是这样的:

ProjectName
   src
      somePackage
         module1.py
         module2.py
         ...
   config
      propsFile1.ini
      propsFile2.ini
      propsFile3.ini
   setup.py
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我的setup.py代码:

from distutils.core import setup

setup(name='ProjectName', 
      version='1.0', 
      packages=['somePackage'],
      data_files = [('config', ['..\config\propsFile1.ini', 
                                '..\config\propsFile2.ini', 
                                '..\config\propsFile3.ini'])]
      )
Run Code Online (Sandbox Code Playgroud)

当我运行它(使用sdist作为命令行参数)时,会生成包含所有python文件的.zip文件 - 但不包括配置文件.我以为这段代码:

 data_files = [('config', ['..\config\propsFile1.ini', 
                                    '..\config\propsFile2.ini', 
                                    '..\config\propsFile3.ini'])]
Run Code Online (Sandbox Code Playgroud)

表示应将这3个指定的配置文件复制到zip分发中的"config"目录.为什么这段代码没有完成任何事情?我究竟做错了什么?

(我也尝试过使用配置文件的路径...但似乎没有任何帮助.如果路径不正确/找不到文件,Python会抛出错误或警告吗?)

python distutils distribution setup.py

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

NSXMLParserDelegate编译问题 - iPhone SDK 30. vs 4.0

我的头文件定义如下:

#import <Foundation/Foundation.h>

@interface Warning: NSObject  { 
Run Code Online (Sandbox Code Playgroud)

在我的.m文件中,我做:

NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
[parser setDelegate:self];
Run Code Online (Sandbox Code Playgroud)

这编译并在3.0下正常工作.

如果我尝试使用4.0编译,我会收到此错误:

没有实现'NSXMLParserDelegate'协议

如果我添加:

@interface Warning: NSObject <NSXMLParserDelegate>  { 
Run Code Online (Sandbox Code Playgroud)

它用4.0编译好,但是当我尝试用3.0编译时,我得到:

错误:找不到'NSXMLParserDelegate'的协议声明

基础框架正确找到.添加NSXMLParser.h没有帮助.

任何帮助,将不胜感激.

谢谢

iphone

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

obj c函数中(+)和( - )运算符之间的区别是什么

嗨,我是iphone的新手,开始学习Obj c.

我已经注意到函数定义,对于我们正在使用的某些函数( - )以及我们正在使用的某些函数(+)

示例:+(id)requestWithURL:(NSURL*)theURL

- initWithURL:

这两个运算符/符号的用法有什么区别?

谢谢!

iphone objective-c

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

C++ new&delete和string&functions

好的,上一个问题得到了清楚的回答,但我发现了另一个问题.

如果我这样做:

char *test(int ran){ 
    char *ret = new char[ran]; 
    // process... 
    return ret; 
} 
Run Code Online (Sandbox Code Playgroud)

然后运行它:

for(int i = 0; i < 100000000; i++){ 
   string str = test(rand()%10000000+10000000); 
   // process... 

   // no need to delete str anymore? string destructor does it for me here?
} 
Run Code Online (Sandbox Code Playgroud)

所以在将char*转换为字符串之后,我不必再担心删除了吗?

编辑:作为回答,我必须delete[]每次new[]调用,但在我的情况下,由于指针丢失,它不可能,所以问题是:如何正确地将char转换为字符串?

c++ string char new-operator delete-operator

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

protobuf-net不比二进制序列化快?

我编写了一个程序来使用XMLSerializer,BinaryFormatter和ProtoBuf序列化一个'Person'类.我认为protobuf-net应该比其他两个更快.Protobuf序列化比XMLSerialization更快,但比二进制序列化慢得多.我的理解不正确吗?请让我明白这一点.感谢您的帮助.

编辑: - 我更改了代码(下面更新)来测量仅序列化的时间,而不是创建流,仍然看到差异.能告诉我为什么吗?

以下是输出: -

人在347毫秒内使用协议缓冲区创建

人在1462毫秒内使用XML创建

人在2毫秒内使用二进制创建

代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ProtoBuf;
using System.IO;
using System.Diagnostics;
using System.Runtime.Serialization.Formatters.Binary;
namespace ProtocolBuffers
{
    class Program
    {
        static void Main(string[] args)
        {

            string folderPath  = @"E:\Ashish\Research\VS Solutions\ProtocolBuffers\ProtocolBuffer1\bin\Debug";
            string XMLSerializedFileName = Path.Combine(folderPath,"PersonXMLSerialized.xml");
            string ProtocolBufferFileName = Path.Combine(folderPath,"PersonProtocalBuffer.bin");
            string BinarySerializedFileName = Path.Combine(folderPath,"PersonBinary.bin");

            if (File.Exists(XMLSerializedFileName))
            {
                File.Delete(XMLSerializedFileName);
                Console.WriteLine(XMLSerializedFileName + " deleted");
            }
            if (File.Exists(ProtocolBufferFileName))
            {
                File.Delete(ProtocolBufferFileName);
                Console.WriteLine(ProtocolBufferFileName + " deleted");
            }
            if (File.Exists(BinarySerializedFileName))
            {
                File.Delete(BinarySerializedFileName);
                Console.WriteLine(BinarySerializedFileName + " …
Run Code Online (Sandbox Code Playgroud)

serialization protobuf-net

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

github是否要求每个提交者拥有自己的项目分支?

我想尝试git(托管在github上)进行一个新项目,但我怀疑它是如何工作的.我正在与另一个人合作,我们是否需要有两个项目分支,然后每次我们中的一个人对代码进行更改时合并它们,还是可以在单个来源中成对工作?

git github

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