重要的是:-D
不适用于此。
是否有可能以某种动态方式声明出现在每个编译中的宏(很像预定义的宏)(意味着我懒得重新编译gcc)?还是我必须重新编译我的gcc?我是否应该重新编译,如何指定预定义的宏?
答案 0 :(得分:3)
您可以考虑提供一些(或改进您的)spec file。
您可以修补GCC源代码的gcc/c-family/c-cppbuiltin.c
file。
但我确信这是一个非常糟糕的主意;我建议将显式一些-D
标志传递给您的编译器;你的问题和某些XY problem一样严重。您需要激励您的问题。
您可以组织PATH variable并适当添加一些gcc
shell脚本,添加-DMACRO
选项并明确调用例如/usr/bin/gcc
$conn = your connection;
$result = mysqli_query($conn,"SELECT * FROM users WHERE email = '$email'") or exit(mysqli_error()); //check for duplicates
$num_rows = mysqli_num_rows($result); //number of rows where duplicates exist
if($num_rows == 0) { //if there are no duplicates...insert
$sql = "INSERT INTO users (name, email, tel, gift, formName, formEmail, formEmirate, birthday, date)
VALUES ('$name', '$email', '$tel','$gift', '$formName', '$formEmail', '$formEmirate','$birthday',CURRENT_TIMESTAMP )";
if (!mysqli_query($conn,$sql))
{
die('Error: ' . mysqli_error());
}
}
用它。
答案 1 :(得分:1)
在Linux上你可以
使用别名:
alias gcc="gcc -DMACRO1 -DMACRO2"
将旧/usr/bin/gcc
复制到/usr/bin/gcc.original
。制作您自己的shell脚本并将其命名为/usr/bin/gcc
,其中包含
exec /usr/bin/gcc.original -DMACRO1 -DMACRO2 "$@"