问题列表 - 第6801页

目标C -std = c99用法

是否有任何理由不使用"-std = c99"标志在Mac上编译Objective-C程序?我真正喜欢的C99中的一个特性是能够在代码中的任何地方声明变量,而不仅仅是在方法的顶部,但这个标志是否会导致任何问题或为iPhone或Cocoa应用程序创建不兼容性?

iphone cocoa objective-c

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

小4 KB文件的最佳压缩算法是什么?

我试图压缩每个大约4 KB的TCP数据包.数据包可以包含任何字节(从0到255).我发现的压缩算法的所有基准都是基于更大的文件.我没有找到任何比较小文件上不同算法的压缩比的东西,这就是我需要的.我需要它是开源的,所以它可以在C++上实现,所以没有例如RAR.对于大小约4千字节的小文件,可以推荐什么算法?LZMAHACCZIPgzipbzip2

compression

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

使用jQuery.post将多个参数发布到MVC Controller

我有一个控制器定义为:

        [AcceptVerbs(HttpVerbs.Post)]
        public JsonResult PostMoreData(DataContracts.Address address, DataContracts.GeoLocation geoLocation)
        {
            return Json("test");
        }

where DataContracts.Address and DataContracts.GeoLocation are complex types.

从我的视图我试图使用jQuery发布如下:

        function PostMoreData() {

            var JsonAddress = {

                "Building": $('Building').val(),
                "UnitNumber": $('UnitNumber').val(),
                "StreetNumber": $('StreetNumber').val(),
                "StreetName": $('StreetName').val(),
                "StreetType": $('StreetType').val(),
                "Suburb": $('Suburb').val(),
                "State": $('State').val(),
                "Postcode": $('Postcode').val(),
                "MonthsAtAddress": $('MonthsAtAddress').val()

            };

            var JsonGeoLocation = {
                "Latitude": $('Latitude').val(),
                "Longitude": $('Longitude').val()
            };


            jQuery.post("/AddressValidation/PostMoreData", {address: JsonAddress, geoLocation: JsonGeoLocation}, function(data, textStatus) {
                if (textStatus == "success") {
                    var result = eval(data);
                    if (result.length > 0) {
                        alert(result);
                    }
                }
            }, …

asp.net-mvc jquery

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

使用g ++编译时,为什么以下程序减慢15%?

更新:为我的编译请求提供服务的编译框的实际解析结果不同.在较慢的实例中,我运行的是在SuSE 9上编译但在SuSE 10上运行的代码.这对我来说是足够的差异,并将苹果与苹果进行比较.使用相同的编译框时,结果如下:

g ++慢了约2%

三角洲实际4分钟三角洲用户4分三角洲系统5秒

谢谢!

gcc v4.3 vs g ++ v4.3简化为最简单的情况,只使用简单的标志

#include <stdio.h>
#include <stdlib.h>
int main (int argc, char **argv)
{
    int i=0;
    int j=0;
    int k=0;
    int m=0;
    int n=0;
    for (i=0;i<1000;i++)
        for (j=0;j<6000;j++)
            for (k=0;k<12000;k++)
            {
                 m = i+j+k;
                 n=(m+1+1);
            }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是一个已知的问题?15%非常重要.并且全面了解真实,系统和用户时间.我必须等到明天发布会.

更新:我只试过我的一个编译框.我正在使用SuSE 10.

c c++ performance

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

什么是PCALL或Wowwiki错了?

这是一个魔兽世界(魔兽世界)lua脚本问题.这里没有多少人被问到,但我无处可转,Stackoverflow是程序员绿洲的答案.

题:

Wowwiki说第2,第3,第4个参数是你的调用函数第1,第2,第3个参数.我不认为这是真的.我发现第3,第4,第5个参数最终成为第1,第2,第3个参数.

链接:http://www.wowwiki.com/API_pcall

功能:

function myTest(arg1) 
  return arg1 .. 10; 
end 
Run Code Online (Sandbox Code Playgroud)

问题:

local retOK, ret1 = pcall(myTest,"string value"); 
Run Code Online (Sandbox Code Playgroud)

当我尝试样本时,我得到一个错误"尝试在本地'arg1'上执行连接(一个零值)".如果我将代码更改为:

local retOK, ret1 = pcall(myTest,"string value", "bob"); 
Run Code Online (Sandbox Code Playgroud)

然后我得到"bob10"的输出.第二个论点去哪里了,它的用途是什么?

更多测试:

function BobsToolbox:RunTest() 
  local test1, value1 = pcall(BobsToolbox.Test1, "string value"); 
  SharpDeck:Print("Test1: " .. tostring(test1) .. " Value: " .. tostring(value1)); 
end 

function BobsToolbox:Test1(arg1) 
  return arg1 .. "10"; 
end 
Run Code Online (Sandbox Code Playgroud)

结果:尝试连接本地'arg1'(零值)

function BobsToolbox:RunTest() 
  local test1, value1 = pcall(Test1, "string value"); 
  SharpDeck:Print("Test1: " .. tostring(test1) .. " Value: " .. tostring(value1)); 
end …
Run Code Online (Sandbox Code Playgroud)

lua world-of-warcraft

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

什么是第一个双倍偏离相应的长三角?

我想知道从0d向上的第一个双重偏差"相同值"的长度偏离某个增量,比如1e-8.我虽然失败了.我试图在C中做这个,虽然我通常使用托管语言,以防万一.请帮忙.


#include <stdio.h>
#include <limits.h>
#define DELTA 1e-8

int main() {
    double d = 0; // checked, the literal is fine
    long i;
    for (i = 0L; i < LONG_MAX; i++) {
         d=i; // gcc does the cast right, i checked
         if (d-i > DELTA || d-i < -DELTA) {
              printf("%f", d);
              break;
         }
    }
}
Run Code Online (Sandbox Code Playgroud)

我猜测问题是di将我加倍,因此d == i然后差异总是为0.我还能检测到这一点 - 我更喜欢有趣的C转换比较比较字符串,这会永远.

答案:完全符合我们的预期.根据标准C/UNIX/POSIX工具,2 ^ 53 + 1 = 9007199254740993是第一个不同点.非常感谢pax的计划.我猜数学再次获胜.

c math double gcc

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

我想制作自己的Malloc

我想制作自己的malloc/free,这样我就可以制作精确的复制分配器.

任何大师都有任何提示和建议吗?

我现在有几个问题:

  1. 我应该只是malloc大块的内存,然后从那里分发,所以我不必调用系统调用?
  2. 复制收藏家通常如何完成?我想这个部分有效地做起来有点复杂.我天真的实现只是将一个块大小地移动到剩余对象的大小,这需要2倍的空间.

c c++ malloc garbage-collection

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

为何使用活动?

我理解事件在C#中的运作方式(在这个领域是一个公平的新手).我想要了解的是我们使用事件的原因.

您是否知道使用事件的编码良好/架构好的应用程序?

c# architecture winforms

9
推荐指数
3
解决办法
8803
查看次数

使用32位应用程序的64位驱动程序

我有一个Windows应用程序,它可以作为32位运行(由于我的控制之外的其他限制).但是,我的应用程序必须调用和访问可能是32位或64位的驱动程序,具体取决于安装它的系统.

我通过DeviceIoControl()调用访问驱动程序,交换在include文件中声明的数据结构.数据结构包含声明为"DWORD_PTR"的字段(我不控制的包含文件).

我的问题是在64位系统上,驱动程序期望结构包含64位整数(因为DWORD_PTR声明).但是,我的32位程序将那些DWORD_PTR视为32位整数.然后,我的数据结构的程序版本与驱动程序对这些结构的理解之间存在数据不匹配.

DeviceIoControl()以ERROR_INSUFFICIENT_BUFFER结束失败(传递给系统调用的数据区域太小).我确认如果我将64位版本的结构传递给驱动程序,我不会收到此错误.

我有一些丑陋的选择.但我想知道是否有人有更好的建议?


解:

  • 使用REAL 64位数据字段(__int64)声明共享结构的新副本
  • 动态检查OS体系结构(32/64)
  • 使用32位或64位版本的结构进行DeviceIoControl()调用.

缺点:

  • 我必须手动维护结构声明的显式64位副本.随着时间的推移可能会很痛苦.

我的其他解决方案是这个的变体,但它们总是涉及维护结构定义的一些副本(例如,在COML for COM服务器选项中).

编辑:这是一个Microsoft驱动程序,似乎它不使用IoIs32bitsProcess(irp)!

windows 64-bit winapi driver

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

MySQL 集群(主/从)和休眠

开发时的应用是单数据库,spring配置如下。

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/test" />
    <property name="username" value="root" />
    <property name="password" value="" />
</bean>


<bean id="hibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="properties">
    <props>
        <prop key="hibernate.hbm2ddl.auto">update</prop>
        <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
        ...
        </props>
    </property>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
        <ref local="dataSource" />
    </property>
    <property name="hibernateProperties">
    <ref bean="hibernateProperties" />
    </property>
    <property name="mappingResources">
    <list>
        <value>...</value>
    </list>
    </property>
</bean>

<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="dataSource" ref="dataSource" />
    <property name="sessionFactory" ref="sessionFactory" />
</bean>
Run Code Online (Sandbox Code Playgroud)

然而,对于生产,有可能使用 MySQL 集群或主/从复制。关于此代码/配置更改的任何想法?

还有一个对所有人的快速问题 - 在专用服务器上运行的单个 mysql 服务器实例可以处理多少事务/秒?

mysql spring hibernate

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