假设左上角是(0,0)并且我给出了30度的角度,起点为(0,300),线长度为600,我该如何计算线的终点以便该线代表给定的角度.
C伪代码是
main() {
int x,y;
getEndPoint(30, 600, 0, 300, &x, &y);
printf("end x=%d, end y=%d", x, y);
}
// input angle can be from 0 - 90 degrees
void getEndPoint(int angle, int len, int start_x, int start_y, int *end_x, int *end_y)
{
calculate the endpoint here for angle and length
*end_x = calculated_end_x;
*end_y = calculated_end_y;
}
Run Code Online (Sandbox Code Playgroud) 试图弄清楚如何为a设置所选图像tableViewCell.
旧的写作方式是,cell.selectedImage但自3.0以来已被弃用.
我尝试过很多东西,但是不能把它弄得太干净了.
谢谢!玩笑
我想在unix中将两个文件合并为一列.
我有file_a:
subjectid name age
12 Jane 16
24 Kristen 90
15 Clarke 78
23 Joann 31
Run Code Online (Sandbox Code Playgroud)
我有另一个file_b:
subjectid prob_disease
12 0.009
24 0.738
15 0.392
23 1.2E-5
Run Code Online (Sandbox Code Playgroud)
我想在命令行中合并这些文件.我想通过subjectid合并文件a和b.由于每个文件大约有200万行,我试过R但由于数据量大而冻结,有人可以帮我在linux中做这个吗?期望的输出:
subjectid prob_disease name age
12 0.009 Jane 16
24 0.738 Kristen 90
15 0.392 Clarke 78
23 1.2E-5 Joanna 31
Run Code Online (Sandbox Code Playgroud)
请帮助,谢谢!
我正在开发一个嵌入式C项目.我有一个LCD显示屏,每个字符有一个5x7点阵.要显示特定字符,您必须移动5个字节,与要打开的点相关联.所以我需要使用一个键来制作某种查找表,我可以传入一个ASCII字符,然后返回一个包含5个字节的数组...例如,调用这个函数就像这样,
GetDisplayBytes('A');
应该返回`这样的数组......
C[0] = 0x7E : C[1] = 0x90 : C[2] = 0x90 : C[3] = 0x90 : C[4] = 0x7E
在C中这样做的最佳方法是什么?
我的第一个问题(耶!)是关于gnumake和并行构建的.这是一个快速示例文件:
.PHONY: tool_1 tool_2 tool_3 tool_4 all tools
all: | tools
tools: | tool_2 tool_3 tool_4
tool_1:
# commands for tool 1
tool_2: | tool_1
# commands for tool 2
tool_3: | tool_1
# commands for tool 3
tool_4: | tool_1
# commands for tool 4
Run Code Online (Sandbox Code Playgroud)
如果我make -j对这个人这么做,我在这里是否正确,以确保命令tool_1只执行一次,并在make尝试构建任何之前tool_[234]?
我正在寻找的是首先构建make -j原因tool_1,然后tool_[234]并行构建,但不执行命令tool_1三次.我希望这是有道理的.感谢您的任何建议或想法!
Heyo,
我上大学的班级让我们编写程序集.到目前为止,我从未真正意识到C的易用性.
现在,当我在汇编程序中编程时,我经常需要使用标签来生成while/for/if循环和条件,例如:
SKIP:
...
COMP:ADD R1, R1, #0 ;Check for equality
BRZ WHILEEND
... ;code inside the while loop
JMP COMP ;Return to while loop
WHILEEND:
...
Run Code Online (Sandbox Code Playgroud)
所以,在这个while循环(例子)中,我为子程序使用了1个标签,为循环本身使用了2个标签.对于我在汇编中所做的所有循环和分支,我已经没有好的标签名称,你们做了什么来保持它的多样性和描述性?
举个例子:
$ du -h file_size.txt
112K file_size.txt
Run Code Online (Sandbox Code Playgroud)
我如何从du -h的输出中删除文件名
我曾尝试使用sed搜索字符串(文件名)并将其替换为空,但它没有用(下面的命令)
du -h file_size.txt | sed 's/ 'file_size.txt'//'
Run Code Online (Sandbox Code Playgroud)
有人可以指出为什么这不会工作,或者更好的方法吗?
问候
保罗
此时,编写复制构造函数和赋值运算符对是明确定义的; 快速搜索将引导您充分了解如何正确编码这些.
既然移动构造函数已进入组合,是否有一种新的"最佳"方式?
我有一个由一堆动态加载的模块组成的项目.最初,一切都是用MSVC 2003构建的,但最近我一直在努力让它与GCC一起工作.除了一个问题,一切都很顺利.对于64位代码,GCC和MSVC不同意它是什么va_list.对于32位,事情看起来很好.64位不匹配导致的问题是,使用一个编译器构建的模块具有带va_list参数的公共函数,并且该函数是从其他编译器构建的模块调用的.
除了第7.15节变量论证va_list之外,规范没有说明是什么,第3段:<stdarg.h>
声明的类型是
va_list其适合用于保持由宏所需信息的对象类型
va_start,va_arg,va_end,和va_copy.
那一段只是意味着这是所有编译器相关的东西 - 所以,有没有办法让这两个编译器就64位的内容达成一致va_list?对我的系统影响最小,使GCC与MSVC匹配va_list最好,但我会采取任何我能得到的解决方案.
谢谢你的帮助!
编辑:
我做了一些32位测试,我也有问题,这让我感到惊讶,因为任何32位Intel平台之间都没有ABI差异.我正在使用的MSVC代码库将所有可变参数函数宏定义为:
typedef char *va_list;
#define intsizeof(n) ((sizeof(n) + sizeof(int) - 1) &~(sizeof(int) - 1))
#define va_start(ap, v) (ap = (va_list)&(v) + intsizeof(v))
#define va_arg(ap, t) (*(t *) ((ap += intsizeof(t)) - intsizeof(t)))
#define va_end(ap) (ap = (va_list)0)
Run Code Online (Sandbox Code Playgroud)
我从实际项目中略微简化了一下,但这是我用于测试的代码.使用GCC,这段代码肯定没有正确得到我的论点.也许这只是一个bug,正如Zack在下面所说的那样?
再次编辑:
我得到的工作成果与下列32位测试应用程序-O0,-O0和-O2,但不-O3,-Os …
我正在为我的编译器类做一些预考试练习,并且需要简化这个正则表达式.
(a U b)*(a U e)b* U (a U b)*(b U e)a*
Run Code Online (Sandbox Code Playgroud)
很明显,e是空字符串,U代表联合.
到目前为止,我认为其中一个(a U b)*可以被移除,因为U a = a的并集.但是,我找不到任何其他简化,到目前为止其他问题做得不好.:(
感谢任何帮助,非常感谢!