基本上,我正在尝试将RSP,RBP和RIP地址放入指针。
代码:
import React from 'react';
import { Formik } from 'formik';
const Basic = () => (
<div>
<h1>Anywhere in your app!</h1>
<Formik
initialValues={{ email: '', password: '' }}
validate={values => {
let errors = {};
if (!values.email) {
errors.email = 'Required';
} else if (
!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i.test(values.email)
) {
errors.email = 'Invalid email address';
}
return errors;
}}
onSubmit={(values, { setSubmitting }) => {
setTimeout(() => {
alert(JSON.stringify(values, null, 2));
setSubmitting(false);
}, 400);
}}
>
{({
values,
errors,
touched,
handleChange,
handleBlur,
handleSubmit,
isSubmitting,
/* and other goodies */
}) => (
<form onSubmit={handleSubmit}>
<input
type="email"
name="email"
onChange={handleChange}
onBlur={handleBlur}
value={values.email}
/>
{errors.email && touched.email && errors.email}
<input
type="password"
name="password"
onChange={handleChange}
onBlur={handleBlur}
value={values.password}
/>
{errors.password && touched.password && errors.password}
<button type="submit" disabled={isSubmitting}>
Submit
</button>
</form>
)}
</Formik>
</div>
);
export default Basic;
上面的指针在获取RSP地址时工作正常。但是我不知道如何获取RBP和RIP地址。
您能告诉我如何将* rbp指向 ajaxResult[i].selectedTripLeader= $scope.TripLeaderData[0].Id
OR
ajaxResult[i]['selectedTripLeader'] = $scope.TripLeaderData[0].Id
地址和* rip指向#include <stdio.h>
int main()
{
char buf[500];
int *rsp;
int *rbp;
int *rip;
strcpy(buf, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
ptr = buf;
printf("[buf:%p:%s]\n[rsp:%p:%s]\n", &buf, buf, rsp, rsp);
return 0;
}
地址吗?
答案 0 :(得分:2)
当前的x86硬件无法正常工作,因此无法获取任何寄存器的地址-it just doesn't have one。
是什么意思? 这意味着您可以获取每个寄存器的值,但无法获取寄存器的地址-它们没有地址。
例如,如果您在函数的开头执行以下操作,则会获得RIP指向的地址。
void foo(param a, param b)
{
int dummy;
int* rip = &dummy;
}
但是请注意,您将无法在此功能之外访问此功能。