是否有任何理由不使用"-std = c99"标志在Mac上编译Objective-C程序?我真正喜欢的C99中的一个特性是能够在代码中的任何地方声明变量,而不仅仅是在方法的顶部,但这个标志是否会导致任何问题或为iPhone或Cocoa应用程序创建不兼容性?
我有一个控制器定义为:
[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);
}
}
}, … 更新:为我的编译请求提供服务的编译框的实际解析结果不同.在较慢的实例中,我运行的是在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.
这是一个魔兽世界(魔兽世界)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) 我想知道从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的计划.我猜数学再次获胜.
我想制作自己的malloc/free,这样我就可以制作精确的复制分配器.
任何大师都有任何提示和建议吗?
我现在有几个问题:
我理解事件在C#中的运作方式(在这个领域是一个公平的新手).我想要了解的是我们使用事件的原因.
您是否知道使用事件的编码良好/架构好的应用程序?
我有一个Windows应用程序,它可以作为32位运行(由于我的控制之外的其他限制).但是,我的应用程序必须调用和访问可能是32位或64位的驱动程序,具体取决于安装它的系统.
我通过DeviceIoControl()调用访问驱动程序,交换在include文件中声明的数据结构.数据结构包含声明为"DWORD_PTR"的字段(我不控制的包含文件).
我的问题是在64位系统上,驱动程序期望结构包含64位整数(因为DWORD_PTR声明).但是,我的32位程序将那些DWORD_PTR视为32位整数.然后,我的数据结构的程序版本与驱动程序对这些结构的理解之间存在数据不匹配.
DeviceIoControl()以ERROR_INSUFFICIENT_BUFFER结束失败(传递给系统调用的数据区域太小).我确认如果我将64位版本的结构传递给驱动程序,我不会收到此错误.
我有一些丑陋的选择.但我想知道是否有人有更好的建议?
解:
缺点:
我的其他解决方案是这个的变体,但它们总是涉及维护结构定义的一些副本(例如,在COML for COM服务器选项中).
编辑:这是一个Microsoft驱动程序,似乎它不使用IoIs32bitsProcess(irp)!
开发时的应用是单数据库,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 服务器实例可以处理多少事务/秒?
c ×3
c++ ×2
64-bit ×1
architecture ×1
asp.net-mvc ×1
c# ×1
cocoa ×1
compression ×1
double ×1
driver ×1
gcc ×1
hibernate ×1
iphone ×1
jquery ×1
lua ×1
malloc ×1
math ×1
mysql ×1
objective-c ×1
performance ×1
spring ×1
winapi ×1
windows ×1
winforms ×1